使用Maven自動部署外掛
阿新 • • 發佈:2019-02-15
Java程式設計師常常有這樣的困惑,每天開發專案的時候都要重複著“寫程式碼 -> 打包 -> 停止服務 -> 部署程式碼 -> 啟動服務 -> 測試”。尤其是當專案的歷史比較長,目錄結構比較混亂的時候更是如此。這其中有很多時間都花在了手動啟停服務,部署包上面了。今天就說說怎樣使用Maven的外掛來實現自動“打包 -> 停止服務 -> 部署程式碼 -> 啟動服務”。
修改Maven的配置檔案pom.xml,加入類似如下的配置。
<build>
....
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.8</version>
</extension>
</extensions>
<plugins>
<plugin >
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>stop</id >
<phase>package</phase>
<goals>
<goal>sshexec</goal>
</goals>
<configuration>
<url>scp://<username>:<password>@<host>/</url>
<commands>
<command>/usr/share/tomcat/bin/tomcat stop</command>
</commands>
</configuration>
</execution>
<execution>
<id>upload</id>
<phase>package</phase>
<goals>
<goal>upload</goal>
</goals>
<configuration>
<url>scp://<username>:<password>@<host>/</url>
<fromDir>${project.basedir}/target</fromDir>
<includes>*.jar</includes>
<toDir>...</toDir>
</configuration>
</execution>
<execution>
<id>start</id>
<phase>package</phase>
<goals>
<goal>sshexec</goal>
</goals>
<configuration>
<url>scp://<username>:<password>@<host>/</url>
<commands>
<command>/usr/share/tomcat/bin/tomcat start</command>
</commands>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
此時,“打包,停止服務,部署,啟動服務”只需要執行下面的命令即可完成。
mvn clean package