如何在gitlab ci中使用受保护的变量

时间:2019-09-22 00:24:15

标签: gitlab-ci

关于受保护变量的文档非常模糊。当我将一个变量设置为受保护变量时,我必须考虑如何访问它。不管我做什么,总是空虚的。我尝试了base64对其进行编码,然后在管道中再次对其进行了base64编码,这样我可以看到它是什么,并且我得到一个空字符串:Cg==。有人可以解释如何使用受保护的变量吗?

2 个答案:

答案 0 :(得分:0)

只有在受保护的分支或标记上有作业时,受保护的变量才可用。

其背后的原因是允许进行阻止正确升级的设置。 例如。所有分支上的开发人员测试环境的凭据,仅主/发布分支​​上的可部署凭据。要将代码添加到第二个代码,您需要维护者权限。 在此示例中,没有受保护的变量,具有开发者权限的任何人都可以在其分支中打印部署凭据。

答案 1 :(得分:0)

正如@secustor所写,无法从不受保护的分支或标签访问受保护的变量。如果访问,该变量将为空。

从这里开始,有两个选择:

  1. 推送到受保护的分支或标签(在“设置”>“存储库”中设置受保护的分支/标签) Protect branch and

  2. 将变量标记为不受保护(在“设置”>“ CI / CD”中的“变量”下) enter image description here

再次,如@secustor所述,此逻辑背后有充分的理由。您可能不希望团队中的所有开发人员都能够访问这些变量。