jenkins 搭建git自动部署多台服务器
1.0 基础设置1.1 安装插件Publish Over SSHSend build artifacts over SSH1.2 进入系统管理1.3 选择插件管理1.4 查找Publish Over SSH1.5 安装完成1.6 此时再进入系统设置1.7 找到Publish over SSH点击新增,增加服务器地址点击高级,填写远程服务器的密码以下代表连接不上,请检查服务器账号密码...
1.0 基础设置
1.1 安装插件
Publish Over SSH
Send build artifacts over SSH
1.2 进入系统管理
1.3 选择插件管理
1.4 查找Publish Over SSH
1.5 安装完成
1.6 此时再进入系统设置
1.7 找到Publish over SSH
点击新增,增加服务器地址
点击高级,
填写远程服务器的密码
以下代表连接不上,请检查服务器账号密码
2. 搭建git任务并且部署
2.1 新建任务
2.2 创建任务
2.3 General配置
2.4 源码管理选择
(看自己的代码时由什么工具管理的,选择)
例如是git则选择git
复制git上面的地址输入
输入远程git路径
添加账户
2.5 构建触发器
可以选择定时构建(根据实际情况)
TZ=Asia/Shanghai
H(0-1) 23 * * *
2.6 构建环境
2.7 Build
填入
pom.xml
clean package -Dmaven.test.skip=true
2.8 Post Steps
2.9 构建后操作
一般人可能会对下面的路径感到懵逼,建议先保存构建一次
这个里面的位置如果不知道的话,可以先进行保存构建一下,那么对于里面路径会有一个相对清楚的认识
这个是重点,我们的目的是部署到多台服务器,那么就要将代码从git上面复制下来,然后打包,这些上面已经做过了,那么现在将打包的文件发送到指定服务器中。
选择 Send build artifacts over SSH
点击保存即可
2.10 source files
需要配合jenkins的工作空间去看,才能知道这个是相对于工作空间下项目的相对路径
例如 进入到工作空间,我们会看到 cd /var/lib/jenkins/workspace/ 我们建的目录,这个是默认的目录,如果你有改动过主目录的位置,则进入到你所改动后的主目录下面
进入我们的test2中可以看到我们成功从git上面复制并且打包下来的项目
这个jar包就是相对于这里的位置
2.10.1 Remove prefix
这是对上面Source files 的一个补充,是否需要对上面的一个路径移除前缀。
例如我们 Source files 的路径是 :project-manage/target/project-manage-2.1.0.jar
而我们只需要传递 project-manage-2.1.0.jar
那么我们就不需要 前缀:project-manage/target
2.10.2 Remote directory
这是相对于远程目录,在我之前1.7配置的基础上面叠加目录
2.10.3 Exec command
需要执行的远程服务器的命令
做的操作如下:
先杀死当前项目运行端口的进程
运行先项目,启动
#!/bin/bash
# stop.sh
# shelloworld-0.0.1-SNAPSHOT.jar是生成的jar包名称
echo "Stopping austar SpringBoot"
#杀死当前项目的端口
port=8400
#根据端口号查询对应的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');
#杀掉对应的进程,如果pid不存在,则不执行
if [ -n "$pid" ]; then
echo stop;
kill -9 $pid;
fi
#!/bin/bash
# startup.sh
echo "start austar SpringBoot"
java -jar /home/user/java/xxx/project-manage-2.1.0.jar>log.file 2>&1&
更多推荐
所有评论(0)