我有一个构建作业,它由使用 http post 请求的 perforce post 提交触发器启动。 比如:
curl --header 'Content-Type: application/json'
--request POST --user $JUSER:$JPASS
--data payload="{change:$CHANGE,p4port:\"$P4PORT\"}"
$JSERVER/p4/change
我还设置了相同的作业,以自动安排流程启动,每天两次
perforce触发器编译的想法只是为了确保项目编译时没有错误。
自动化的我希望它执行额外的步骤来打包项目以供用户使用(这需要大量时间,所以我不希望它每次都执行)
到目前为止我尝试过的事情
--data payload="{change:$CHANGE,p4port:\"$P4PORT\",P4Triggered:1}"
所以我最终使用管道来完成这项工作,我真的建议人们这样做。 只花了一天的时间进行研究和实施,最终就让一些东西运行起来。 然后我只是添加了一个带有when步骤的阶段
stage('DEPLOY'){
when {
anyOf{
triggeredBy "TimerTrigger" //deploy if initiated by a timer or manually parameter
expression { params.deploy == true }
}
}
steps{
echo 'Deploying'
bat returnStatus: true, script: '%WORKSPACE%\\TOOLS\\Deploy\\deploy.bat'
}
}
这样就成功了。它还具有一些很酷的可视化功能,可以在某些内容被绕过时向您显示
话虽这么说,我在网上看到了这个,这可能使它可以与 frestyle 项目和 perforce 触发器一起使用
--data 'json={"parameter":[{"name":"PARAMNAME","value":"agent-name"}]}&Submit=Build'
我稍后可能会尝试一下。