【发布时间】:2020-12-12 14:19:35
【问题描述】:
如何在 buildkite 中设置应用程序凭据详细信息,以便可以将其用作测试的一部分?
有什么帮助吗?
提前致谢
【问题讨论】:
标签: continuous-integration buildkite
如何在 buildkite 中设置应用程序凭据详细信息,以便可以将其用作测试的一部分?
有什么帮助吗?
提前致谢
【问题讨论】:
标签: continuous-integration buildkite
最简单的方法是将它们存储在 agent environment hook 中,这是您需要放在运行代理的主机上的脚本文件,并且在代理运行的每个作业之前调用:
# /etc/buildkite-agent/hooks/environment
set -eu
echo "--- :house_with_garden: Setting up the environment"
export APPLICATION_PASSWORD="xxx"
然后在环境中的管道命令中使用它们:
# .buildkite/pipeline.yml
steps:
- label: Run tests
command: ./run-tests --password="$$APPLICATION_PASSWORD"
双美元对管道上传的变量进行转义,确保密码没有插入到 YAML 中,然后提交给 buildkite.com。一旦代理运行命令,它将被插入。
您还可以在脚本中访问 $APPLICATION_PASSWORD,以避免在 yaml 中提及它。
如果您正在运行长期存在的代理,或者使用类似 elastic-ci-stack-for-aws 之类的东西,代理环境挂钩效果最好,它具有用于此类事情的共享环境挂钩:
https://github.com/buildkite/elastic-ci-stack-for-aws#build-secrets
但也有其他一些选择:
【讨论】:
/etc/buildkite-agent/hooks/environment 中。我将修改上面的示例以演示在管道 yml 中使用密码。