Warm tip: This article is reproduced from serverfault.com, please click

gitlab-访问上一次相同作业的工件

(gitlab - Access artifacts from previous run of same job)

发布于 2018-01-31 11:19:16

我想使用Gitlab CI / CD进行部署。同样的代码库是用来部署到不同的环境,需要一个状态文件进行部署,这需要在部署后更新(环境状况),并在部署之前牵强。由于这是一条至关重要的信息,因此我希望它成为构建工件。

考虑一下我的部署流程以及不同的工作deploy-env1deploy-env2是否可以通过一种方式定义作业

  • 将文件添加state.dat为构建工件(使用该artifacts选项很容易
  • 从最新版本的状态文件开始(在当前分支上最后一次成功运行同一作业)
  • 如果以前没有成功运行,则从一个空文件开始

看来我目前无法将作业配置为依赖于自身,你是否知道是否有办法实现这一目标?

Questioner
muffel
Viewed
0
secustor 2018-02-01 09:17:43

不存在没有实现的函数来处理此问题。

但是有可能的解决方法,我还没有尝试过,还有第三方解决方案。

解决方法: 你可以构建自己的脚本,该脚本使用Gitlab Jobs API为分支机构下载最新的工件。Gitlab文档中的示例

另一个解决方法: 除了使用API​​下载外,你还可以结合使用工件和缓存对象

干净的解决方案: 将设置一个Gitlab不提供的工件服务。你将在此处部署文件,然后再次从同一服务中检索它。这样的程序是ArtifactoryNexus