如何在CI中设置应用程序凭据详细信息?

问题描述

如何在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

但是还有其他一些选择:

https://buildkite.com/docs/pipelines/secrets