我有Bamboo 6.6.0和YAML格式的管道,
管道需要一些秘密:密码,配置和SSH密钥。
Bamboo密码可以使用全局变量,但是如何在Bamboo中以安全的方式存储ssh密钥和配置文件?
答案 0 :(得分:1)
到目前为止,我发现的唯一不错的方法是使用base64加密ssh密钥,并将其放入Bamboo全局变量中(它的名称中必须包含 secret 字样,以使其在GUI和日志中不可见),并在管道执行期间将其解密。 示例:
---
project:
key: LAMBDA
plan:
key: LAMBDA
name: GaaS Example Lambda Scripted
stages: #TODO: Clean workspace
- jobs:
- dockerImage: kagarlickij/example-lambda
scripts:
- echo "Creating .ssh dir.." && mkdir ~/.ssh
- echo "Exporting SSH key from Bamboo Global vars to env var.." && export BITBUCKET_SSH_KEY=${bamboo.bitbucket_ssh_key_secret}
- echo "Decrypting SSH key.." && if [ -f ~/.ssh/id_rsa ]; then rm -f ~/.ssh/id_rsa ; fi && echo $BITBUCKET_SSH_KEY | base64 --decode > ~/.ssh/id_rsa && chmod 400 ~/.ssh/id_rsa
- echo "Adding BitBucket to known_hosts.." && ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts
答案 1 :(得分:-1)
您可以将SSH密钥存储在变量中,但是配置文件的最佳方法是将它们存储在bitbucket或您使用的其他存储库中。您可以在“存储库”选项卡中创建两个回购链接以访问它们。因此,这有点像云配置服务。