如何在gitlab ci中获取所有定义的秘密



是否可以在gitlab_ci.yml脚本中打印所有定义的机密(或至少其密钥(?

伪码:

deploy:
stage: deploy
script: |
for KEY in $SECRETS
echo $KEY
done

我相信只有当您已经知道管道中存在哪些秘密时,才有可能单独获得这些秘密。但在大多数图像中,例如默认的ruby图像,存在env命令,它列出了所有env变量,包括键和值
所有机密都应包含在这些变量中,或者至少作为文件从中列出。

如果你可以控制秘密的命名方式,你也可以通过过滤它们来实现只获取秘密的原始结果。例如,如果你可以用_SECRET这样的后缀命名每个秘密,你就可以调用

env | grep _SECRET=

如果像原来的例子一样,你只想列出值,你可以调用:

env | grep _SECRET= | cut -d = -f2-

最新更新