标签: phing

通过<phingcall>调用的目标不会在调用目标中设置属性

在下面的phing xml中,在"skel"目标内部,我检查应用程序是否已配置,如果不是,则调用configure目标,然后将配置应用于多个文件.

问题是db.host在phingcall之后没有设置属性,即使它是在propertyprompt之后设置的.

我错过了什么?

<!-- base configuration -->
<property name="paths.config" value="config" />
<property name="paths.config.file" value="${paths.config}/environment.ini" />

<available file="${paths.config.file}" property="configured" />

<target name="configure">
    <if>
     <equals arg1="${configured}" arg2="true" />
     <then>
       <echo message="Reconfigure ..." />
     </then>
     <else>
       <echo message="Configure ..." />
     </else>
    </if>

    <propertyprompt propertyName="db.host" defaultValue="localhost" promptText="Mysql Server Host" />
</target>

<target name="skel">
    <echo msg="Skel files..." />

    <if>
     <equals arg1="${configured}" arg2="${configured}" />
     <then>
       <echo message="Missing config file ..." />
       <phingcall target="configure" />
     </then>
    </if>

    <echo message="${db.host}" />
    <copy todir="config">
        <mapper type="glob" …
Run Code Online (Sandbox Code Playgroud)

phing scope

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

对phing目标中的每个文件执行命令

如何在phing文件集目标的每个文件上执行目标操作?例如:

<exec command="cat {$filepath}">
  <fileset dir=".">
    <include name="*.php">
  </fileset>
</exec>
Run Code Online (Sandbox Code Playgroud)

php phing

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

使用Phing从存储库中获取最新的Git标记

我是初学者并且需要构建一个脚本来自动化一些构建任务.

有没有办法只检索最近添加的标签到git仓库?我可以提取所有标签的列表,但似乎无法将其过滤到最新的标签.

这是获取我的git标签的相关代码:

    <gittag 
        repository="${repo.dir.resolved}" 
        list="true" 
        outputProperty="versionTag" 
        pattern="v*" />
Run Code Online (Sandbox Code Playgroud)

上面的输出结果是一个标签列表(前缀为"v"):

[gittag] git-tag output: v1.0.0
v1.0.1
v1.0.2
Run Code Online (Sandbox Code Playgroud)

关于如何将其归结为v1.0.2的任何想法?

git phing build

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

如何以非交互方式为PostgreSQL创建的密码提供密码?

我有一个phing的任务,在测试之前,如果存在则删除数据库并创建它.这是在Jenkins上运行的.我想用createb这样做:

<exec command="createdb my_database" />
Run Code Online (Sandbox Code Playgroud)

问题是createdb要求我进行身份验证并添加-Umy_user参数不是问题 - 问题是我无法在createdb命令中指定密码.我不想为系统用户创建角色(在本例中为"jenkins").有解决方案吗?

phing postgresql jenkins

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

在phing中获得生成的exec的pid

我正在使用phing并通过ExecTask运行selenium服务器.有时我需要通过终止其进程来停止运行服务器.

是否有可能在ExecTask中产生进程的PID?

php linux phing command-line

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

选择fieldone不等于null + Propel的所有字段

我有一个关于使用推进ORM和创建查询的问题.

我有一个表"位置"与字段:

  • 地点
  • sublocation
  • 邮编


现在我想选择位置字段等于'null'的所有位置.
我怎样才能做到这一点?我试过这个,但我收回了所有的结果......

尝试查询: $locations = LocationQuery::create()->where('location' != null)->find();

php mysql phing pear propel

7
推荐指数
3
解决办法
9985
查看次数

phing:通过电子邮件发送完整的日志?

我在项目中使用phing进行一些自动构建过程,并且想知道:如何通过电子邮件获取完整日志?


当我phing通过命令行启动时,显示构建日志; 我会喜欢的 :

  • 通过电子邮件发送,
  • 对几个收件人,
  • 构建成功还是失败
  • 理想情况下:使用邮件主题来判断构建是成功还是失败
  • 理想情况下:某种HTML邮件,格式化,颜色......会很好

我已经phingmail命令的输出用于管道,但是我想要一个适用于Linux和Windows的解决方案,并且不需要安装任何其他软件......

有没有人有想法?


作为旁注:我考虑过在构建结束时添加某种"报告"目标,但是:

  • 仅当所有先前的目标都没有失败时才会启动它
  • 我不知道如何获得完整的日志

php phing email build-automation

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

让Phing的dbdeploy任务自动回滚delta错误

我正在使用Phingdbdeploy任务管理我的数据库模式.只要我的delta文件的查询中没有错误,这工作正常.

但是,如果出现错误,dbdeploy将直接运行增量文件到错误的查询,然后中止.这让我有些沮丧,因为我必须手动回滚changelog表中的条目.如果不这样做,dbdeploy将假定在后续尝试中迁移成功,因此任何重试都不会执行任何操作.

所以问题是,有没有办法让dbdeploy使用事务,还是可以建议任何其他方法在发生错误时自动进行phing回滚

注意:我对Phing并不熟练,所以如果这涉及编写自定义任务,那么任何示例代码或带有更多信息的URL都会受到高度赞赏.谢谢

php mysql migration phing dbdeploy

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

如何从phing ad-hoc任务中返回一个值?

有没有办法从phing ad-hoc任务中获得返回值?

例如,我正在尝试从文件中的JSON字符串获取版本号,如下所示:

    <target name="get-app-version">

    <adhoc-task name="appversion" ><![CDATA[
        class AppversionTask extends Task {

            private $version;

            public function getVersion() {
                return $this->version;
            }
            function main() {
                $manifest = file_get_contents("manifest.json");
                $manifest_json = json_decode($manifest);
                $version = $manifest_json->version;
                $this->log("App version: " . $version);
                $this->version = $version;
            }
        }
    ]]></adhoc-task>
    <appversion output="version" />
    <echo message="${version}" />

</target>
Run Code Online (Sandbox Code Playgroud)

我只能找到有关设置值的文档,但不能获取值.但是,adhoc typdef任务似乎显示了get语法,所以我想知道是否有某种方法可以做到这一点.

php phing

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

PHP:Phing,Phar和phar.readonly

我正在使用PHP构建系统phing来创建phar存档文件.

是否有任何已知的科学将让我在运行期间自动设置phar.readonly0(允许创建phar知识)phing,但是0在其他所有时间都将其设置为?

php phing phar

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