使用Jenkins实现自动化部署

前言

我的centos服务器以及安装好了docker的,下面直接开始安装Jenkins

安装Jenkins

  • 查看docker版本
docker -v
  • docker 所有 image 文件
docker image ls
  • 启动 docker
# service 命令的用法 $ sudo service docker start
# systemctl 命令的用法 $ sudo systemctl start docker

使用Jenkins实现自动化部署_第1张图片

这里把Jenkins默认8080端口修改为8040
安装成功后:访问 http://39.102.56.91:8040/【账号为wulongbo,密码为wulongbo945108】
使用Jenkins实现自动化部署_第2张图片

Jenkins配置

环境配置

使用Jenkins实现自动化部署_第3张图片
使用Jenkins实现自动化部署_第4张图片
这里 JAVA_HOME路径 我们从服务器查

  • 首先进入jenkins docker容器
docker exec -it jenkins /bin/bash
  • 查看 java 版本
java -version
  • 查看jdk的安装目录
echo $JAVA_HOME

使用Jenkins实现自动化部署_第5张图片

  • 安装maven

使用Jenkins实现自动化部署_第6张图片

  • 安装maven插件 Maven Integration

使用Jenkins实现自动化部署_第7张图片
使用Jenkins实现自动化部署_第8张图片

  • 等待安装完毕后重启!

使用Jenkins实现自动化部署_第9张图片

  • 新建任务

使用Jenkins实现自动化部署_第10张图片
使用Jenkins实现自动化部署_第11张图片

  • 配置

使用Jenkins实现自动化部署_第12张图片
使用Jenkins实现自动化部署_第13张图片

  • 添加 Credentials

使用Jenkins实现自动化部署_第14张图片

  • 选择刚刚添加的账号密码

使用Jenkins实现自动化部署_第15张图片

  • 添加打包命令

使用Jenkins实现自动化部署_第16张图片

  • 保存
  • 立即构建

使用Jenkins实现自动化部署_第17张图片

  • 点击进度条进入控制台

使用Jenkins实现自动化部署_第18张图片

  • 构建成功

使用Jenkins实现自动化部署_第19张图片

  • docker Jenkins容器寻找到jar包

使用Jenkins实现自动化部署_第20张图片

image.png

  • 自动化运行脚本【点击项目-->配置】

使用Jenkins实现自动化部署_第21张图片

  • 引入shell 脚本

使用Jenkins实现自动化部署_第22张图片
JAR_PATHJAR_WORK_PATH路径填写按如下截图寻找进入控制台copy
使用Jenkins实现自动化部署_第23张图片
使用Jenkins实现自动化部署_第24张图片

#!/bin/bash
## 服务名称(最好和发布名称相同)
SERVER_NAME=wulongbo
## 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可以选择war包,war包可以选择移动到tomcat的web-info下
JAR_NAME=springboot_son-0.0.1-SNAPSHOT
## 源jar路径
## demo项目目录
## target打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/wulongbo/target
## 打包完成之后把jar包移动到运行jar包的目录,work_deamon,work_deamon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/wulongbo/target/

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "SERVER_NAME" | awk '{print $2}'` 
echo "得到进程id: $PID"
echo "结束进程"
for id in $PID
do
    kill -9 $id
done
echo "结束进程完成"

##复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
echo "复制jar包完成"
cd $JAR_WORK_PATH
## 修改文件权限
chmod 755 $JAR_NAME.jar
java -jar $JAR_NAME.jar
  • 保存
  • 重新构建

使用Jenkins实现自动化部署_第25张图片

  • 点击控制台,看到项目启动成功

使用Jenkins实现自动化部署_第26张图片

使用Jenkins实现自动化部署_第27张图片
curl 127.0.0.1:8012 查看容器内是否运行
因为Jenkins 是通过容器部署,需要我们把端口号映射出来

  • 停掉容器
systemctl restart docker

image.png

  • 清空所有运行的容器
docker rm $(sudo docker ps -a -q)

image.png

  • 加入 jar 包端口 8012
docker run -d --name jenkins -p 8040:8080 -p 8012:8012 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:2.222.3-centos
  • 刷新Jenkins

使用Jenkins实现自动化部署_第28张图片

  • 再次构建服务
  • 查看控制台输出

使用Jenkins实现自动化部署_第29张图片

使用Jenkins实现自动化部署_第30张图片

  • java -jar 属于 前台启动方式导致一直在启动中,控制台一直转圈

使用Jenkins实现自动化部署_第31张图片

使用Jenkins实现自动化部署_第32张图片

  • 修改为后台启动

java -jar $JAR_NAME.jar 替换为 BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
使用Jenkins实现自动化部署_第33张图片

  • 删除刚刚启动的服务,重新启动

使用Jenkins实现自动化部署_第34张图片

使用Jenkins实现自动化部署_第35张图片

你可能感兴趣的:(使用Jenkins实现自动化部署)