如何在 buildkite 中设置应用程序凭据详细信息,以便将其用作测试的一部分?
有什么帮助吗?
提前致谢
最简单的方法是将它们存储在代理环境钩子中,这是一个脚本文件,您需要放在运行代理的主机上,并在代理运行的每个作业之前调用:
# /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
但也有其他一些选择: