当前位置: 首页 > 知识库问答 >
问题:

mvn部署到AWS(通过distributionManagement进行ssh)

楮杰
2023-03-14

我正在使用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>
<server>
    <id>ssh-aws</id>
    <username>aws-user</username>
</server>
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]

提前谢了。

共有1个答案

詹弘毅
2023-03-14

您需要在maven配置文件settings.xml中向私钥添加路径,即pem文件以及服务器id和用户名,如下所示:

<settings>
...
  <servers>
    <server>
      <id>ssh-aws</id>
      <username>aws-user</username>
      <privateKey>/path/to/your/private/key</privateKey>
    </server>
  </servers>
...
</settings>
 类似资料:
  • 我对AWS Lambda非常陌生,基于我在网上找到的许多例子(阅读无穷无尽的文档),我正在努力理解它的功能。我知道使用这种服务的主要目的是实现一个无服务器架构,通过允许Lambda和API Gateway承担管理您的服务器的角色,该架构是低成本的,并且可能是高效的(所以无服务器并不意味着您不使用服务器,而是该架构为您处理事情)。我将我的研究组织成开发人员在Lambda上部署Flask web应用程

  • 我想要实现的是,每一个新的(标记的)提交到master将在Play Store中endup。所以我不必通过Play Store developer控制台手动上传APK。我已经在找API了。但是谷歌没有提供任何服务,我发现的两个非官方项目(Android Market API和Play PHP API)只支持下载量,比如应用程序的下载量。 那么有人能想个办法通过cURL或者一个小脚本上传APKs吗?

  • 我(终于)从JBOSS5.1升级到Wildfly9.0.2.final(独立)。我正在学习如何通过scp重新部署压缩的EAR,希望部署扫描器能够接收到它。根据文档,我所要做的就是在standalone.xml(在部署描述符中)中设置auto-deploy-zipped=“true”,然后将。ear复制到deployments文件夹中。但是,当我这样做时,扫描器会在部署文件夹中放置一个“failed

  • 如果你对这个主题有任何问题,可以点击下面的链接访问相应的话题: http://www.mail-archive.com/webpy@googlegroups.com/msg02800.html 下面的代码基于lighttpd 1.4.18,更高版本也可以工作 注意事项 你可以重命名 code.py为任何你自己愿意的名字,该例子还是以code.py为例。 /path-to/webpy-app 为包含

  • 我正试图通过命令行重新部署战争。我正在尝试: java-classpath"C:/bea/weblogic12c/wlserver_12.1/server/lib/weblogic.jar"weblogic. Deployer-adminurl t3://localhost:7101-user用户名-密码-上传-重新部署-name myapp-source myApp.war-目标myServer

  • 我对SageMaker有以下挑战: > 我已经下载了一个教程笔记本(https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/tensorflow_abalone_age_predictor_using_keras/tensorflow_abalone_age_predictor_us