jenkins - 在 Jenkins Build 运行时提供对日志中工作区文件的访问权限
问题描述
我们希望有一个管道,它构建我们的应用程序而不是暂停,并且在构建的应用程序经过手动测试后恢复并交付测试的应用程序。
所以我想出了使用 Input 来暂停管道的想法,如下所示:
...
stage ("Build"){
// build application here and archive it as artefact
}
timeout(time:5, unit:'DAYS') {
input message:'Approve deployment?'
}
stage ("Deliver"){
// deliver the built application
}
测试人员有 5 天的时间来测试应用程序,然后恢复管道并交付。
我的问题是,虽然构建仍在运行,但测试人员还无法访问状态页面上的工件。
那么有没有办法在日志输出中提供任何类型的下载链接,指向我在构建阶段存档的应用程序文件?或者有没有其他好的方法可以在一个管道作业中实现这个 build->pause->test->resume->deliver 工作流?
流水线中的测试自动化不是一种选择,因为应用程序需要在某些硬件上手动刷新。
解决方案
这将使您进入工件列表(artifact
如果您希望链接指向特定文件,您可以在之后添加更多):
...
timeout(time:5, unit:'DAYS') {
echo "Archive available for download: ${env.BUILD_URL}artifact"
input message:'Approve deployment?'
}
这需要JENKINS_URL
在系统配置中设置 的值:在您的 Jenkins 主页中,单击Manage Jenkins --> Configure System并在Jenkins Location下查找Jenkins URL
如果您没有对 Jenkins 的管理员访问权限,并且JENKINS_URL
没有设置,您可以使用类似
https://known-jenkins-url/job/${JOB_NAME}/${BUILD_NUMBER}/artifact
推荐阅读
- r - 创建一个函数来手动计算 R 中的 VIF 值
- java - “Java中的同步块在某个对象上同步”是什么意思..?
- aurelia - 如何在 SystemJS+TS 中显式包含 aurelia-dialog@2.0.0-rc.3 的资源?
- c++ - boost Spirit V2 Qi 语法线程安全吗?
- rabbitmq - 消息系统可靠性
- c# - 通用列表:添加、查找、删除 C#
- javascript - React Carousel renderArrow consts 未定义
- login - Yii2 登录验证密码失败
- ms-access - 使用权。如果记录为空,我该如何更改?
- swift - 使用 RxSwift 联网