我正在为我的项目使用gitlab,其中在“ Settings-> CI / CD-> Environment variables”中定义了一个环境变量,并将其值初始化为“ 0”。现在,作为CI管道的一部分,我想修改此环境变量的值并想增加1。我试图在gulp文件中做到这一点:
gulp.task('incrementBuildId', function()
{
process.env.BUILD_ID = buildId + 1;
});
但是环境变量的值没有改变。我在这里做错什么吗? 还有其他方法可以拥有全局环境变量并不断更改其值吗?
答案 0 :(得分:1)
到目前为止,还没有办法修改gitlab环境变量以使其持久化。但是,您可以寻找任何vault
或api服务器来执行相同的操作。
选项1:
对于您的情况,如果我没有记错,您想要为此将构建ID设置为last build ID +1
gitlab允许管道提交到特定分支,因此您可以让管道读取文件包含最后一个构建ID,然后将当前构建ID设置为last build ID+1
,然后将其提交到分支并为每个构建重复该过程。
选项2 :(推荐)
但是,我建议您使用内部版本号作为唯一的管道ID(称为CI_PIPELINE_ID)。例如,
build_id = v1.0.${CI_PIPELINE_ID} #during build phase
#if current pipeline id = 3000, then build_id will be v1.0.3000
您可能会找到gitlab here可用的变量。某些变量是唯一的,例如CI_JOB_ID
,CI_COMMIT_SHA
,CI_PIPELINE_ID
等(对于gitlab v9.0 +)。