如果我有一个私人注册表,例如Artifactory,与开发团队共享RW密钥的最佳方法是什么?当然,不希望所有开发者都拥有Travis-CI使用的通用RW密钥或凭据。(每个开发人员都有自己的)。
我想用私钥加密凭据,然后将该密钥提供给Travis-ci。这样就可以安全地分发加密的凭据并在travis-ui中使用作业设置。然后Travis将解密凭据并将其用于作业。
凭据不会泄漏,DevOps人员不会手动更新UI设置中的所有密钥,开发人员可以设置新的Travis作业并在Travis-ui中使用加密版本。大家都很开心 可能吗?
Travis 提供加密密钥:
\n\n\n存储库\xe2\x80\x99s .travis.yml 文件可以具有\xe2\x80\x9c加密值\xe2\x80\x9d,例如环境变量、通知设置和部署 api 密钥。这些加密值可以由任何人添加,但只能由 Travis CI 读取。存储库所有者不保留任何秘密密钥材料。
\n请注意,加密的环境变量不可用于来自 fork 的拉取请求。
\n
怎么运行的:
\n下载并安装 Travis CLI
\n gem install travis\nRun Code Online (Sandbox Code Playgroud)\n加密变量
\n travis encrypt SOMEVAR="secretvalue"\nRun Code Online (Sandbox Code Playgroud)\n.travis.yml然后您可以在using中使用加密值secure: (我猜这就是您所需要的,以免更改每个存储库中的环境变量)
secure: ".... encrypted data ...."\nRun Code Online (Sandbox Code Playgroud)\n还可以.travis.yml通过执行以下命令自动将加密值包含到您的文件中:
travis encrypt SOMEVAR="secretvalue" --add\nRun Code Online (Sandbox Code Playgroud)\n当 Travis 执行作业时,加密密钥,
\n env:\n - secure: "encrypted string"\nRun Code Online (Sandbox Code Playgroud)\n变成
\n env:\n - "decrypted string"\nRun Code Online (Sandbox Code Playgroud)\n我的管道也有同样的问题,我会尝试一下。
\n| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |