2016-08-02 182 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/,這很好地解釋它。簡而言之...

  • 創建一個隨機文件(「共享密鑰」),並使其在構建系統可同時作爲在泊塢窗容器使用共享密
  • 加密密碼經過加密的密碼到泊塢窗容器
  • 在泊塢窗的容器,使用共享密鑰來解密密碼
相關問題