【问题标题】:mvn deploy to AWS (ssh via distributionManagement)mvn 部署到 AWS(通过 distributionManagement 进行 ssh)
【发布时间】:2012-09-11 21:35:48
【问题描述】:

我正在使用 Maven 将 WAR 文件部署到 AWS。我打算使用'mvn deploy'来将war文件ssh到AWS。 我关注http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html

这是我的 POM 文件

<project>
  ...
  <distributionManagement>
    <repository>
      <id>ssh-aws</id>
      <url>scpexe://<ec2 instance>.compute-1.amazonaws.com</url>
    </repository>
  </distributionManagement>

  <build>
    <extensions>
      <!-- Enabling the use of FTP -->
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
         <artifactId>wagon-ssh-external</artifactId>
         <version>1.0-beta-6</version>
      </extension>
    </extensions>
  </build>
  ..
</project>

这是我的 settings.xml

<server>
    <id>ssh-aws</id>
    <username>aws-user</username>
</server>

唯一的问题是我无法找出 pom.xml 的 distributionManagement 节点中的 URL。

我可以通过以下方式在 AWS 服务器中进行 ssh。

ssh -i ~/pemfile/pemfile-key.pem aws-user@<ec2 instance>.compute-1.amazonaws.com

但是当我运行 mvn clean deploy 时,我收到了这个..

Exit code: 1 - Permission denied (publickey). -> [Help 1]

提前致谢。

【问题讨论】:

  • 您是否已配置为使用 settings.xml 中的密钥文件,但似乎并非如此。
  • 您是指 PEM 文件位置吗?您能否提供一些参考资料或示例代码?我无法理解。谢谢!
  • @khmarbaise .. 谢谢.. 我完全错过了 settings.xml 中的密钥文件。
  • @Dexter:你能分享文件作为答案吗
  • @dexter 我知道它已经很老了,但我也对此很感兴趣。你能分享一下你是怎么做这样的事情的吗?

标签: maven amazon-web-services maven-3 maven-deploy-plugin


【解决方案1】:

您需要添加您的私钥的路径,即 pem 文件以及 maven 配置文件中的 服务器 id用户名 settings.xml,像这样:

<settings>
...
  <servers>
    <server>
      <id>ssh-aws</id>
      <username>aws-user</username>
      <privateKey>/path/to/your/private/key</privateKey>
    </server>
  </servers>
...
</settings>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-18
    • 2021-09-03
    • 2016-07-11
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 2019-06-10
    相关资源
    最近更新 更多