2016-08-02 185 views
0

我在我的Jenkins版本中设置了一个密码参数集,其中包含我希望保密的一些信息。 Jenkins构建将创建需要访问此参数的Docker容器。目前,我的命令看起来就像这样:将蒙面Jenkins环境变量传递给Docker容器

docker run -e PASSWORD=${PASSWORD} my_image my_command

这个工程,我预期它 - 我已经在我的体型设置为一个环境变量来泊坞窗容器,然后可以利用它传递的密码参数。这是我的控制台输出的一部分:

+ docker run -e PASSWORD=abc123efg my_image my_command

的问题是,原始密码在输出上面显示。有没有任何解决方法或替代解决方案,我可以用来传递掩码参数到我的容器而不暴露在输出中?

回答

0

有很多的插件,可以在控制台的输出屏蔽特定的参数,如https://wiki.jenkins-ci.org/display/JENKINS/Mask+Passwords+Plugin

+0

是的,好像我们该插件安装过但不是使用它,我用的是屏蔽密码选项在什么我相信是参数化编译插件(似乎没有工作)。我只是把这个设为答案并称之为一天 – kshah

0

传递敏感信息明文恕我直言,是不是就算掩盖一个不错的选择。如果你控制构建管道,那么它可能是一个更强大的选择,而是采用共享秘密方法。这是相对直接的实施和有据可查的。从快速谷歌搜索,我会选择http://bigthinkingapplied.com/key-based-encryption-using-openssl/,这很好地解释它。简而言之...

  • 创建一个随机文件(“共享密钥”),并使其在构建系统可同时作为在泊坞窗容器使用共享密
  • 加密密码经过加密的密码到泊坞窗容器
  • 在泊坞窗的容器,使用共享密钥来解密密码
相关问题