在Jenkins管道中每个分支正确处理单独的凭证

时间:2018-07-05 19:14:22

标签: git jenkins jenkins-pipeline

我当前的设置涉及在Jenkins中有2个自由式项目,两个项目使用不同的参数进行完全相同的流程。我想对其进行重做,并且似乎通常使用Pipeline代替该混乱是一个更好的主意。我还需要几个凭证绑定:

  • 数据库密码(字符串)
  • Docker主机凭证
  • 基本身份验证(用户名和密码对)的HTTP用户名/密码
  • 一些秘密密钥,等等。我不想在任何地方对其进行硬编码

我还需要更多参数。我的问题是,我希望所有这些分行都是不同的,例如:

  • 主服务器:将凭证用于生产,生产数据库密码,无HTTP用户名和密码,生产密钥
  • 阶段:使用凭证进行阶段,阶段数据库密码,HTTP用户名和密码,阶段密钥
  • 其他:不要部署任何东西

我想通过将凭据ID保存为参数来解决此问题,例如:

parameters {
    string(name: 'DB_CREDENTIALS_ID', defaultValue: '', description: 'DB password')
    string(name: 'HTTP_CREDENTIALS_ID', defaultValue: '', description: 'DB password')
    string(name: 'DOCKER_CREDENTIALS_ID', defaultValue: 'docker_cert', description: 'Credentials ID')
    ...
}

但是我不知道在哪里/如何覆盖这些默认值。我希望这些内容在詹金斯方面得到管理。也许我的方法是完全错误的?在Jenkins管道中使用凭证绑定时,什么是好的做法?我真的希望这不是在Jenkinsfile中对凭据ID进行硬编码。

0 个答案:

没有答案
相关问题