使用Maven插件wagon-maven-plugin自動化部署

在項目開發過程中,經常需要部署代碼到開發環境,每天可能有好多次,每次都需要mvn clean install,然後上傳到服務器。實際上這些繁瑣的步驟可以通過一個Maven插件wagon-maven-plugin來自動完成

配置Linux服務器用戶名和密碼
爲了讓wagon-maven-plugin插件能SSH連上Linux服務器,首先需要在項目pom.xml中配置好server的用戶名和密碼。

<properties>
		<!--wagon plugin 配置-->
		<service-path>/work/renren</service-path>
		<pack-name>${project.artifactId}-${project.version}.jar</pack-name>
		<remote-addr>192.168.1.1:22</remote-addr>
		<remote-username>root</remote-username>
		<remote-passwd>123456</remote-passwd>
	</properties>

文件上傳到服務器並重啓
Maven項目可使用 mvn package 指令打包,打包完成後包位於target目錄下,要想在遠程服務器上部署,首先要將包上傳到服務器。在項目的pom.xml中配置wagon-maven-plugin插件:

<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>wagon-maven-plugin</artifactId>
				<version>1.0</version>
				<configuration>
					<fromFile>target/${pack-name}</fromFile>
					<url><![CDATA[scp://${remote-username}:${remote-passwd}@${remote-addr}${service-path}]]></url>
					<commands>
						<!-- Kill Old Process -->
						<command>kill -9 `ps -ef |grep ${project.artifactId}.jar|grep -v "grep" |awk '{print $2}'`</command>
						<!-- Restart jar package,write result into renren.log -->
						<command><![CDATA[nohup java -jar ${service-path}/${pack-name} --spring.profiles.active=test > ${service-path}/test.log 2>&1 & ]]></command>
						<command><![CDATA[netstat -nptl]]></command>
						<command><![CDATA[ps -ef | grep java | grep -v grep]]></command>
					</commands>
					<!-- 運行命令 mvn clean package wagon:upload-single wagon:sshexec-->
					<displayCommandOutputs>true</displayCommandOutputs>
				</configuration>
			</plugin>
配置完成後,運行命令:mvn clean package wagon:upload-single wagon:sshexec
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章