use*_*303 7 workspace triggers jenkins continuous-delivery
我们有一个Jenkins工作(Production)每晚构建一个可交付成果.我们还有另一项工作(ProductionPush)将第二天通过专有协议将可交付成果推送到生产机器.这是因为某些生产机器仅在白天的某些时段可用(它还使我们有机会修复任何最后一刻的构建中断).  ProductionPush需要访问Production作业构建的可交付成果(因此需要访问相同的工作区).我们有多个节点和并发构建(因此不可预测的工作空间),并且由于资源有限,因此不希望将作业绑定到固定节点/工作空间.  
如何确保两个作业共享相同的工作区并确保ProductionPush仅在Production成功的情况下在第二天的固定时间运行- 而不是将两个作业都修复为在同一节点/工作区之外运行?我知道参数化触发插件可能有助于其中一些,但它似乎没有时间延迟功能,12小时似乎太长时间安静.
共享工作区是个坏主意吗?
Sla*_*lav 25
答案2:是的,共享工作区是个坏主意.文件锁定的可能性.存在工作空间被消灭的问题.只是不要这样做......
答案1:您需要的是归档构建的工件.这样,无论另一个构建是否正在运行,或者工作区处于什么状态,特定构建的构件(按构建号)将始终可用.
*.*/path/to/file_version*.zip**/file_version*.zip http://JENKINS_URL/job/JOB_NAME/lastSuccessfulBuild/artifact/然后使用工件的名称.我已经在这里广泛地解释了如何从另一个部署作业(在您的示例中ProductionPush)访问以前的工件:
如何从Jenkins的另一个作业中提升特定的构建号?
如果您的要求始终是将最新版本部署到生产,则可以跳过上述链接中的促销配置.只需按照配置部署作业的步骤操作即可.获得部署作业后,如果它始终同时运行,则只需配置其定期构建参数.或者,您可以根据所需的条件启动另一个将触发部署作业的作业.
在上述任何一种情况下,如果您的默认选择器设置为最新成功构建(如上面链接中所述),则最新构建将推送到生产
| 归档时间: | 
 | 
| 查看次数: | 13014 次 | 
| 最近记录: |