continuous-integration - 如何在 CI 中设置应用程序凭据详细信息?
问题描述
如何在 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
但也有其他一些选择:
推荐阅读
- android - 在 View Pager 中使用 View Pager 时,不显示子视图寻呼机的项目
- json - 无法获得任何费率的价值
- arrays - nxn 方阵的一维表示的就地旋转
- java - 如何找到 OpenJDK 的 JRE 包?
- c# - 单击列表视图项目开始新活动不起作用
- node.js - 如何进行排序?
- batch-file - 有网络时执行批处理文件循环或启动程序并在没有网络时退出
- python - 更改格式后移动文件
- android - 尽管发送了正确的授权详细信息,但仍获得未经授权的响应
- java - Spring Boot JMS 监听器 - org.springframework.jms.config.JmsListenerEndpointRegistry.isAutoStartup()Z