我正在尝试使用标准的 Maven 发布插件和 Bitbucket 管道发布我的 Maven 项目。我创建了自己的 docker 镜像,私钥受密码保护。我的 Bitbucket 帐户允许来自此 docker 映像的提交,并且 Bitbucket 管道能够在构建时通过环境变量注入私钥密码。
问题是 maven 发布插件会忽略所有内容并要求输入密码,这是不可接受的手动步骤。
我在 /root/.m2 中的 settings.xml 看起来像
<server>
<id>bitbucket.org</id>
<privateKey>/root/.ssh/id_rsa</privateKey>
<passphrase>${env.BB_PIPELINES_MAVEN_3_3_9_JDK_8_SSH_PASSPHRASE</passphrase>
</server>
我正在使用最新版本和 scm 插件,分别为 2.5.3 和 1.9.5
在我的 pom.xml 中有 server 属性
<project.scm.id>bitbucket.org</project.scm.id>
我的 scm 网址就像
<scm>
<url>https://bitbucket.org/user/repo</url>
<developerConnection>scm:git:git@bitbucket.org:user/repo</developerConnection
<connection>scm:git:git@bitbucket.org:user/repo</connection>
</scm>
我试图使用 ssh-agent,它似乎可以工作,但看起来 ssh-agent 也不允许在命令行中传递密码。
任何想法如何解决?