在下面的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文件集目标的每个文件上执行目标操作?例如:
<exec command="cat {$filepath}">
<fileset dir=".">
<include name="*.php">
</fileset>
</exec>
Run Code Online (Sandbox Code Playgroud) 我是初学者并且需要构建一个脚本来自动化一些构建任务.
有没有办法只检索最近添加的标签到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的任何想法?
我有一个phing的任务,在测试之前,如果存在则删除数据库并创建它.这是在Jenkins上运行的.我想用createb这样做:
<exec command="createdb my_database" />
Run Code Online (Sandbox Code Playgroud)
问题是createdb要求我进行身份验证并添加-Umy_user参数不是问题 - 问题是我无法在createdb命令中指定密码.我不想为系统用户创建角色(在本例中为"jenkins").有解决方案吗?
我正在使用phing并通过ExecTask运行selenium服务器.有时我需要通过终止其进程来停止运行服务器.
是否有可能在ExecTask中产生进程的PID?
我有一个关于使用推进ORM和创建查询的问题.
我有一个表"位置"与字段:
- 地点
- sublocation
- 邮编
- 街
- 数
现在我想选择位置字段不等于'null'的所有位置.
我怎样才能做到这一点?我试过这个,但我收回了所有的结果......
尝试查询: $locations = LocationQuery::create()->where('location' != null)->find();
我在项目中使用phing进行一些自动构建过程,并且想知道:如何通过电子邮件获取完整日志?
当我phing通过命令行启动时,显示构建日志; 我会喜欢的 :
我已经phing将mail命令的输出用于管道,但是我想要一个适用于Linux和Windows的解决方案,并且不需要安装任何其他软件......
有没有人有想法?
作为旁注:我考虑过在构建结束时添加某种"报告"目标,但是:
我正在使用Phing的dbdeploy任务来管理我的数据库模式.只要我的delta文件的查询中没有错误,这工作正常.
但是,如果出现错误,dbdeploy将直接运行增量文件到错误的查询,然后中止.这让我有些沮丧,因为我必须手动回滚changelog表中的条目.如果不这样做,dbdeploy将假定在后续尝试中迁移成功,因此任何重试都不会执行任何操作.
所以问题是,有没有办法让dbdeploy使用事务,还是可以建议任何其他方法在发生错误时自动进行phing回滚?
注意:我对Phing并不熟练,所以如果这涉及编写自定义任务,那么任何示例代码或带有更多信息的URL都会受到高度赞赏.谢谢
有没有办法从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来创建phar存档文件.
是否有任何已知的科学将让我在运行期间自动设置phar.readonly为0(允许创建phar知识)phing,但是0在其他所有时间都将其设置为?