一、需求背景
jenkins已经搭建完毕,经过测试可以正常构建jar包,现在需要将构建完毕的jar包执行自动部署,发布到应用服务器。
二、配置步骤
1、 首先安装Publish Over SSH插件;
2、添加SSH相关配置信息:
全局管理>Publish over SSH>添加目标连接
根据情况勾选Use password authentication, or use a different key
3、构建项目配置
(1)设置构建后操作,选择添加的主机
(2)配置传输路径及执行脚本
4、应用发布服务器配置
编写java重启脚本放置在/java/jenkins/target/restart-mytest.sh文件下:
cd /java/jenkins/target
ps aux | grep java | grep my_test-0.0.1-SNAPSHOT.jar |grep -v grep | awk '{print $2}'| xargs kill -9
/usr/local/java/bin/java -jar my_test-0.0.1-SNAPSHOT.jar &
cd /mnt1/jenkins/test
cp /mnt1/jenkins/jenkins_home/workspace/mytest/target/my_test-0.0.1-SNAPSHOT.jar .
ps aux | grep java | grep my_test-0.0.1-SNAPSHOT.jar |grep -v grep | awk '{print $2}'| xargs kill -9
java -jar my_test-0.0.1-SNAPSHOT.jar &
配置消息通知脚本Msg.sh
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=24f30302-5c3f-4777-a6e1-XXXXXX8'
-H 'Content-Type: application/json'
-d '
{
"msgtype": "markdown",
"markdown": {
"content": "构建完毕并执行自动化部署font color="warning">my_test-0.0.1-SNAPSHOT.jarfont>启动成>,请确认服务是否正常。n
>访问地址:font color="comment">http://192.168.3.66:8099/font>"
}
}'
三、配置完毕,进行测试
修改源代码,进行提交:
package com.sg.my_test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
public class MyTestApplication {
public static void main(String[] args) {
SpringApplication.run(MyTestApplication.class, args);
}
public String hello(){
return "2023-09-01 9:16";
}
}
已经自动更新为9:16,证明该需求已经实现。