小编fri*_*nux的帖子

Maven Release Plugin在Jenkins Pipeline中使用

我正在使用Jenkins Pipeline自动构建和部署我的Java应用程序.我还使用maven-release-plugin来执行Maven部署到Artifactory.

问题是我的Jenkinsfile(或Jenkins管道配置):

  1. 我们在发布分支上提交了0.1.00-SNAPSHOT版本
  2. Jenkins Pipeline获取代码,并执行maven发布
  3. Maven Release将版本更改为0.1.00
  4. Maven Release标签GIT分支,提交和部署工件
  5. Maven Release将版本更改为0.2.00-SNAPSHOT并提交
  6. Jenkins Pipeline检测到GIT的变化,因此触发新的构建

您了解最后一步创建无限循环,即使没有有用的提交.

这是我的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触发新的构建)?

谢谢

git maven maven-release-plugin jenkins

20
推荐指数
3
解决办法
2万
查看次数

如何以编程方式添加属性

我想为产品添加一个属性,我想以编程方式执行此操作.所以我在我的模块中添加了一个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

你看到了什么问题吗?代码并不是那么复杂,它的灵感来自现有的和令人担忧的......

谢谢

php magento

16
推荐指数
2
解决办法
2万
查看次数

如何在Magento中对集合进行排序?

我正在尝试对一个集合进行排序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

php sorting collections magento

13
推荐指数
1
解决办法
4万
查看次数

Symfony 2:登录到特定文件

在发布我的问题之前我搜索了很多.我没有找到明确的答案,所以在这里.

我想将消息作为dev.log或prod.log记录在不同的日志文件中.我的意思是一个不会被Symfony核心消息篡改的文件.我听说过monolog中的记录器和处理程序,但不是很清楚.

如何将来自控制器,模型的消息记录到特定的日志文件?

logging symfony monolog

13
推荐指数
1
解决办法
1万
查看次数

如何从 Spring Boot 实体生成 SQL 模式?

Spring Boot 是一个很好的快速开发应用程序的框架。但是,在创建绑定到数据库的应用程序时,似乎某些工作必须完成两次(我使用的是 Flyway):

  • 创建表创建 SQL 查询脚本
  • 创建包含相应注释的 Spring 实体
  • 运行应用程序:flyway 脚本生成表

编写脚本和实体可能很耗时,而且没有附加价值。可以只做一次吗?

谢谢

database flyway spring-boot

10
推荐指数
1
解决办法
4962
查看次数

MySQL:如何在执行多次JOINS时SUM非重复值

我尝试从包含一些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)

mysql sql algorithm syntax

5
推荐指数
1
解决办法
7389
查看次数

PHPUnit Listener已加载但未使用

我正在使用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)

你知道可能会遗漏什么吗?

谢谢!

phpunit listener

5
推荐指数
2
解决办法
1883
查看次数

如何隐藏/保护 Angular 应用程序(相当于 htpasswd)

我尝试使用 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 可能是保护我的应用程序的错误方法,我该怎么办?

谢谢

apache basic-authentication angularjs

5
推荐指数
0
解决办法
530
查看次数

Laravel/Eloquent建议覆盖特质属性?

我在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文档是否对于所提供的实现是错误的?

php traits laravel eloquent laravel-5.4

5
推荐指数
1
解决办法
1459
查看次数

Gunicorn无法启动Flask应用程序,因为“应用程序对象必须是可调用的”

这可能是一个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)

python wsgi flask python-3.x gunicorn

5
推荐指数
1
解决办法
2407
查看次数

MySQL:在字符串值之间

我正在尝试构建一个与以下规则匹配的行的查询:

  • 我的行内容 ID 像“MATCH_1”、“MATCH_2”、“MATCH_4”...
  • 我想匹配 id 在 2 个边界之间的行: SELECT id FROM table WHERE id LIKE "MATCH_%", % must be between 2 and 5 例如。结果必须是:'MATCH_2'、'MATCH_4'、'MATCH_5'

有可能这样做吗?

谢谢

mysql between sql-like

2
推荐指数
1
解决办法
8887
查看次数

Symfony 2:处理COM对象

我想在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中使其工作?

com symfony

1
推荐指数
1
解决办法
101
查看次数