如何共享Travis-CI中使用的凭据

问题描述 投票:5回答:1

如果我有私人注册表,例如Artifactory,与开发团队共享RW密钥的最佳方法是什么?当然,不希望所有开发者都拥有Travis-CI使用的通用RW密钥或凭据。 (每个开发人员都有自己的)。

我想用私钥加密凭据,并将该密钥提供给Travis-ci。这样,可以安全地分发加密的凭据并在travis-ui中使用作业设置。然后Travis将解密凭据并将其用于作业。

凭据不会泄漏,DevOps人员不会手动更新UI设置中的所有密钥,开发人员可以设置新的Travis作业并在Travis-ui中使用加密版本。大家都很开心有可能吗?

travis-ci
1个回答
0
投票

Travis提供Encryption keys

存储库的.travis.yml文件可以具有“加密值”,例如环境变量,通知设置和部署api密钥。这些加密的值可以由任何人添加,但只能由Travis CI读取。存储库所有者不保留任何秘密材料。

请注意,加密的环境变量不可用于来自分叉的拉取请求

如何运作:

  1. 下载并安装Travis CLI

    gem install travis
    
  2. 加密变量

    travis encrypt SOMEVAR="secretvalue"
    
  3. 然后您可以使用.travis.yml使用secure:内部的加密值(我想这是您需要的,以便不更改每个存储库中的环境变量)

    secure: ".... encrypted data ...."
    

    也可以通过执行以下操作将加密后的值自动包含在您的.travis.yml中:

    travis encrypt SOMEVAR="secretvalue" --add
    

[Travis执行作业时,加密密钥,

   env:
     - secure: "encrypted string"

成为

   env:
     - "decrypted string"

我在管道中遇到相同的问题,我会尝试。

© www.soinside.com 2019 - 2024. All rights reserved.