【发布时间】:2011-04-05 15:12:50
【问题描述】:
我们有几个构建在构建服务器上的 maven 项目。在某些情况下,我们希望签署我们的可交付成果。我们使用Maven Jarsigner Plugin 来做到这一点。
我们面临以下问题:
- 我们应该将签名密码存储在哪里?
- 什么是签署 maven 项目的好策略?
我们不想将我们的密钥库放在我们的服务器上的某个地方并硬编码到它的路径。所以我们只是将这个密钥库包装在一个 jar 中,并将它作为一个工件上传到我们内部的 maven 存储库。当我们想要签署一个 maven 项目时,我们使用 Maven Dependency Plugin 下载密钥库工件并将签名目标附加到 maven 构建生命周期。 Here 是更详细的信息。
为了隐藏密钥库的密码,我们将它们放入我们公司的pom.xml 文件中。我们还考虑将密码存储在构建服务器上的settings.xml 中。
当一个项目在开发者机器上构建和签名时,我们使用自签名证书对其进行签名。但是,当项目在构建服务器上构建和签名时,我们会使用我们的“官方”证书对其进行签名。
这是一个好策略吗?
【问题讨论】:
标签: maven maven-2 continuous-integration signing jarsigner