我正在为 Jenkins 奴隶构建一个 docker 图像。该 Jenkins 奴隶将不得不向/从 Artifact 存储库推送和拉取 Artifact 。
这适用于 Java 和 maven 项目。所以我需要在我的 docker 容器中有一个 settings.xml,以便我可以在几个私有(private)存储库中进行身份验证。
我的想法是在 Dockerfile 中复制一个 settings.xml,但因为它包含敏感信息(用户名、密码),所以我担心安全性。我可以在源代码管理中加密此内容吗?更重要的是,我可以避免人们仅仅下载这个文件并能够使用加密的凭据吗?理想情况下,我应该有一种机制来确保加密文件只能在 docker 容器的上下文中工作。
最佳答案
据我了解,上传凭据应该只对 Jenkins 奴隶可用。这里有几个选项:
<server>
<id>repo</id>
<username>${env.REPO_USER}</username>
<password>${env.REPO_PASSWORD}</password>
</server>
在 jenkins slave 上,REPO_USER/PASSWORD 将使用凭据插件设置:https://support.cloudbees.com/hc/en-us/articles/203802500-Injecting-Secrets-into-Jenkins-Build-Jobs .
用户将此变量设置为仅下载凭据。
关于maven - 如何将带有密码的maven settings.xml放在源代码管理中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53454953/