我正在使用Jenkins Pipeline自动构建和部署我的Java应用程序.我还使用maven-release-plugin来执行Maven部署到Artifactory.
问题是我的Jenkinsfile(或Jenkins管道配置):
您了解最后一步创建无限循环,即使没有有用的提交.
这是我的Jenkinsfile的有趣部分:
sshagent([git_credential]) {
sh "${maven_bin} --settings ${maven_settings} -DreleaseVersion=${release_version} -DdevelopmentVersion=${development_version} release:prepare release:perform -B"
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能打破循环(当Maven在GIT上提交时,避免Jenkins触发新的构建)?
谢谢
我想为产品添加一个属性,我想以编程方式执行此操作.所以我在我的模块中添加了一个mysql-install-0.1.0.php,我添加了这个(灵感来自现有的例子):
<?php
$installer = $this;
$installer->startSetup();
$installer->addAttribute('catalog_product', 'collection', array(
'type' => 'varchar',
'backend' => '',
'frontend' => '',
'label' => 'Collection',
'input' => 'text',
'class' => '',
'source' => '',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => false,
'required' => false,
'user_defined' => false,
'default' => '',
'searchable' => false,
'filterable' => false,
'comparable' => false,
'visible_on_front' => false,
'unique' => false,
'apply_to' => '',
'is_configurable' => false
));
$installer->endSetup();
Run Code Online (Sandbox Code Playgroud)
语法似乎没问题,但是当涉及到执行这部分代码时,问题就出现了:
致命错误:在/home/frleq/Dev/projets/AVIP/WORKSPACE/avip_magento/app/code/local/Smile/Magentaho/sql/magentaho_setup/mysql4-install-0.1.0中调用未定义的方法Mage_Core_Model_Resource_Setup :: addAttribute()第7行的.php
你看到了什么问题吗?代码并不是那么复杂,它的灵感来自现有的和令人担忧的......
谢谢
我正在尝试对一个集合进行排序attribute_id.我觉得这很容易,但我想我没有正确使用它:
$attributes = Mage::getResourceModel('eav/entity_attribute_collection')
->setOrder('attribute_id');
echo $attributes->getSelect();
Run Code Online (Sandbox Code Playgroud)
结果:
SELECT `main_table`.* FROM `eav_attribute` AS `main_table`
Run Code Online (Sandbox Code Playgroud)
为什么没有order by?
在发布我的问题之前我搜索了很多.我没有找到明确的答案,所以在这里.
我想将消息作为dev.log或prod.log记录在不同的日志文件中.我的意思是一个不会被Symfony核心消息篡改的文件.我听说过monolog中的记录器和处理程序,但不是很清楚.
如何将来自控制器,模型的消息记录到特定的日志文件?
Spring Boot 是一个很好的快速开发应用程序的框架。但是,在创建绑定到数据库的应用程序时,似乎某些工作必须完成两次(我使用的是 Flyway):
编写脚本和实体可能很耗时,而且没有附加价值。可以只做一次吗?
谢谢
我尝试从包含一些JOINS的查询中的列中SUM值.
例:
SELECT
p.id AS product_id,
SUM(out_details.out_details_quantity) AS stock_bought_last_month,
SUM(order_details.order_quantity) AS stock_already_commanded
FROM product AS p
INNER JOIN out_details ON out_details.product_id=p.id
INNER JOIN order_details ON order_details.product_id=p.id
WHERE p.id=9507
GROUP BY out_details.out_details_pk, order_details.id;
Run Code Online (Sandbox Code Playgroud)
我得到这个结果:
+------------+-------------------------+-------------------------+
| product_id | stock_bought_last_month | stock_already_commanded |
+------------+-------------------------+-------------------------+
| 9507 | 22 | 15 |
| 9507 | 22 | 10 |
| 9507 | 10 | 15 |
| 9507 | 10 | 10 |
| 9507 | 5 | 15 |
| 9507 | …Run Code Online (Sandbox Code Playgroud) 我正在使用PHPUnit 3.4.14而我正在尝试添加一个监听器.
我写了一个简单的:
class My_Test_Listener implements PHPUnit_Framework_TestListener
{
public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
{
...
Run Code Online (Sandbox Code Playgroud)
我在我的phpunit.xml文件中声明了它:
<phpunit bootstrap="./bootstrap.php">
<testsuites>
<testsuite name="auth">
<directory>./library/Ademe/Auth</directory>
</testsuite>
</testsuites>
<listeners>
<listener class="Listener" file="./library/My/Test/Listener.php">
</listener>
</listeners>
</phpunit>
Run Code Online (Sandbox Code Playgroud)
我的类被加载(如果我省略实现其中一个方法,它在日志中这样说),但我从不进入这些方法.我试过这个例子:
public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
{
die('startTestSuite');
}
Run Code Online (Sandbox Code Playgroud)
你知道可能会遗漏什么吗?
谢谢!
我尝试使用 htpasswd 保护我的应用程序(测试环境)以防止好奇。这是我的架构:
[AngularJS] -> [Apache 代理] -> [服务]
目的是阻止没有密码的人。
我首先尝试在最高级别的 Apache 代理上添加 htpasswd:
<Location "/">
AuthUserFile /etc/apache2/passwords
AuthName "Forbidden"
AuthType Basic
require valid-user
</Location>
Run Code Online (Sandbox Code Playgroud)
问题:每次发出请求时都会触发提示(不知道为什么)。
我尝试缩小范围后:
<Location "/modules/user/">
AuthUserFile /etc/apache2/passwords
AuthName "Forbidden"
AuthType Basic
require valid-user
</Location>
Run Code Online (Sandbox Code Playgroud)
它之所以有效,是因为每次请求都会调用此路由。美好的。
但现在我创建了一条新路线:/modules/user/account。我遇到了第一个问题,但更糟糕的是:总是显示提示,但从未接受。Apache 在日志中说道:
[Mon Nov 23 11:51:55.510434 2015] [authz_core:debug] [pid 3043:tid 139650316363520] mod_authz_core.c(809): [client 164.177.43.41:55888] AH01626: authorization result of Require valid-user : denied (no authenticated user yet), referer: https://test.mysite.com/
Run Code Online (Sandbox Code Playgroud)
htpasswd 可能是保护我的应用程序的错误方法,我该怎么办?
谢谢
我在Laravel 5.4中使用Eloquent模型在文档中,我看到:
您还可以使用create方法将新模型保存在一行中.插入的模型实例将从方法返回给您.但是,在执行此操作之前,您需要在模型上指定可填充或保护属性,因为默认情况下所有Eloquent模型都会防止批量分配.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Flight extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name'];
}
Run Code Online (Sandbox Code Playgroud)
但是,$ fillable属性已在所有模型使用的特征中定义:
trait GuardsAttributes
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [];
...
Run Code Online (Sandbox Code Playgroud)
PHP文档清楚了解Traits属性:
如果特征定义了属性,则类无法定义具有相同名称的属性,否则将发出错误.如果类定义兼容(相同的可见性和初始值)或其他致命错误,则为E_STRICT.
Laravel文档是否对于所提供的实现是错误的?
这可能是一个Python新手问题,但是经过一整天的搜索,我找不到解决方案。
我创建了一个简单的Flask应用程序,以下是python_pgfutter_importer / app.py的摘录:
import os
from flask import Flask, Blueprint
from python_pgfutter_importer import settings
from python_pgfutter_importer.api.importer.business import import_csv
from python_pgfutter_importer.api.importer.endpoints.csv import ns as csv_importer_namespace
from python_pgfutter_importer.api.restplus import api
app = Flask(__name__)
def initialize_app(flask_app):
blueprint = Blueprint('api', __name__, url_prefix='/api')
api.init_app(blueprint)
api.add_namespace(csv_importer_namespace)
flask_app.register_blueprint(blueprint)
def main():
initialize_app(app)
app.run(debug=settings.FLASK_DEBUG, use_reloader=settings.FLASK_USE_RELOADER)
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
应用程序运行良好,我使用以下命令启动它:
python python_pgfutter_importer/app.py
Run Code Online (Sandbox Code Playgroud)
现在,我必须将此应用程序托管在服务器上,因此必须使用WSGI。使用我能找到的所有教程,我编写了以下WSGI入口点(wsgi.py):
from python_pgfutter_importer import app as application
if __name__ == "__main__":
application.main()
Run Code Online (Sandbox Code Playgroud)
启动Gunicorn时,CLI输出如下:
$gunicorn -b 127.0.0.1:8000 wsgi:application
[2018-11-12 09:15:48 +0100] [11782] [INFO] Starting gunicorn 19.9.0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个与以下规则匹配的行的查询:
有可能这样做吗?
谢谢
我想在Symfony 2 Controller中使用COM对象.COM必须是PHP 5的一部分,所以我猜测会没有问题.
这是我的代码:
$ObjectFactory = new COM("CrystalReports11.ObjectFactory.1");
Run Code Online (Sandbox Code Playgroud)
Symfony还给我这个错误:
Class 'App\InterfaceBundle\Controller\COM' not found
Run Code Online (Sandbox Code Playgroud)
我在Windows 7上使用PHP 5.3.显示phpinfo时,我可以看到启用了COM对象支持.
我究竟做错了什么?是否有任何PHP包含在Controller中使其工作?
php ×3
magento ×2
mysql ×2
symfony ×2
algorithm ×1
angularjs ×1
apache ×1
between ×1
collections ×1
com ×1
database ×1
eloquent ×1
flask ×1
flyway ×1
git ×1
gunicorn ×1
jenkins ×1
laravel ×1
laravel-5.4 ×1
listener ×1
logging ×1
maven ×1
monolog ×1
phpunit ×1
python ×1
python-3.x ×1
sorting ×1
spring-boot ×1
sql ×1
sql-like ×1
syntax ×1
traits ×1
wsgi ×1