Maven を使用して WAR ファイルを AWS にデプロイする作業を行っています。warファイルをAWSにsshするのと同じために「mvn deploy」を使用する予定です。私は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]
前もって感謝します。