在升级过程中如何轻松访问工件?请注意,我需要访问特定的版本,而不是最新的成功版本。
升级过程的目标是将工件复制到S3,我们的部署作业将从该工件进一步对其进行处理。因此,我可能将内部版本52进行开发(将其复制到特定的S3存储桶),随后将内部版本50进行生产,以此类推。
理想情况下,我可以在shell脚本中访问工件以重命名文件等。是否存在环境变量来访问构建的归档工件,而我找不到或应该怎么做?$BUILD_URL并且$JOB_URL已经特定于升级过程,因此不要在升级作业的shell脚本中指出其自身。
$BUILD_URL
$JOB_URL
使用复制工件插件,我只能在升级过程中从其他内部版本复制工件,而无需这样做。
我相信我找到了解决方案。
${PROMOTED_NUMBER}
先决条件
促销设置:
像往常一样使用名称和条件设置升级的版本。
在“操作”部分中,添加操作 “从另一个项目复制工件” ,然后设置这些值。
${PROMOTED_JOB_NAME}
path/to/your/artifacts/**
${BUILD_TAG}
然后添加您真正想要执行的操作。例如,添加操作“ 归档工件” 以保存工件。请记住在路径前面加上${BUILD_TAG}例如${BUILD_TAG}/path/to/your/artifacts/**
${BUILD_TAG}/path/to/your/artifacts/**
复制工件
您可能现在知道,促销不应期望访问构建工作区的内容。它可能在另一台服务器上执行,并且可能根本无法访问任何工作空间,也无法访问旧版本或更新版本的工作空间。因此,需要将要使用的工件复制到当前工作空间。
这也是设置 目标值 的原因。该工作区可能会被其他构建或产品污染。将目标设置为${BUILD_TAG},通过创建升级过程唯一的文件夹来防止与工作空间中已有的文件发生任何冲突。
$ {PROMOTED_ *}个变量
当您声明正常的构建变量时,它指的是升级过程本身,但“升级的构建插件”会定义一些环境变量,而这些变量则指的是实际的构建。
固定链接
在Jenkins上下文中,永久链接仅指指向某种类型的最新版本或最新促销的特殊链接。这就是为什么您将始终获得最新版本的原因
在我的Jenkins版本中,下拉列表已替换为文本框。编写URL以特定生成像http://jenkins/job/myjob/59/被无法识别的特殊固定链接之一,拷贝从而将失败。
http://jenkins/job/myjob/59/