使用Jenkins实现自动化部署

前言

个人centos服务器以及安装好了docker的,下面直接开始安装Jenkinshtml

安装Jenkins

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

image.png

这里把Jenkins默认8080端口修改成8040
安装成功后:访问 http://39.102.56.91:8040/【帐号为wulongbo,密码为wulongbo945108】
image.pngjava

Jenkins配置

环境配置

image.png
image.png
这里 JAVA_HOME路径 咱们从服务器查web

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

image.png

  • 安装maven

image.png

  • 安装maven插件 Maven Integration

image.png
image.png

  • 等待安装完毕后重启!

image.png

  • 新建任务

image.png
image.png

  • 配置

image.png
image.png

  • 添加 Credentials

image.png

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

image.png

  • 添加打包命令

image.png

  • 保存
  • 当即构建

image.png

  • 点击进度条进入控制台

image.png

  • 构建成功

image.png

  • docker Jenkins容器寻找到jar包

image.png

image.png

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

image.png

  • 引入shell 脚本

image.png
JAR_PATHJAR_WORK_PATH路径填写按以下截图寻找进入控制台copy
image.png
image.pngspring

#!/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
  • 保存
  • 从新构建

image.png

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

image.png

image.png
curl 127.0.0.1:8012 查看容器内是否运行
由于Jenkins 是经过容器部署,须要咱们把端口号映射出来docker

  • 停掉容器
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

image.png

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

image.png

image.png

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

image.png

image.png

  • 修改成后台启动

java -jar $JAR_NAME.jar 替换为 BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
image.pngshell

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

image.png

image.png

相关文章
相关标签/搜索