如果我有私人注册表,例如Artifactory,与开发团队共享RW密钥的最佳方法是什么?当然,不希望所有开发者都拥有Travis-CI使用的通用RW密钥或凭据。 (每个开发人员都有自己的)。
我想用私钥加密凭据,并将该密钥提供给Travis-ci。这样,可以安全地分发加密的凭据并在travis-ui中使用作业设置。然后Travis将解密凭据并将其用于作业。
凭据不会泄漏,DevOps人员不会手动更新UI设置中的所有密钥,开发人员可以设置新的Travis作业并在Travis-ui中使用加密版本。大家都很开心有可能吗?
Travis提供Encryption keys:
存储库的.travis.yml文件可以具有“加密值”,例如环境变量,通知设置和部署api密钥。这些加密的值可以由任何人添加,但只能由Travis CI读取。存储库所有者不保留任何秘密材料。
请注意,加密的环境变量不可用于来自分叉的拉取请求。
如何运作:
下载并安装Travis CLI
gem install travis
加密变量
travis encrypt SOMEVAR="secretvalue"
然后您可以使用.travis.yml
使用secure:
内部的加密值(我想这是您需要的,以便不更改每个存储库中的环境变量)
secure: ".... encrypted data ...."
也可以通过执行以下操作将加密后的值自动包含在您的.travis.yml
中:
travis encrypt SOMEVAR="secretvalue" --add
[Travis执行作业时,加密密钥,
env:
- secure: "encrypted string"
成为
env:
- "decrypted string"
我在管道中遇到相同的问题,我会尝试。