关于java:使用Jenkins实现自动化部署

9次阅读

共计 1820 个字符,预计需要花费 5 分钟才能阅读完成。

前言

我的 centos 服务器以及装置好了 docker 的,上面间接开始装置 Jenkins

装置 Jenkins

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

  • 装置 Jenkins https://segon.cn/install-jenkins-using-docker.html

这里把 Jenkins 默认 8080 端口批改为 8040
装置胜利后:拜访 http://39.102.56.91:8040/【账号为 wulongbo, 明码为 wulongbo945108】

Jenkins 配置

环境配置



这里 JAVA_HOME门路 咱们从服务器查

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

  • 装置 maven

  • 装置 maven 插件 Maven Integration


  • 期待装置结束后重启!

  • 新建工作


  • 配置


  • 增加 Credentials

  • 抉择刚刚增加的账号密码

  • 增加打包命令

  • 保留
  • 立刻构建

  • 点击进度条进入控制台

  • 构建胜利

  • docker Jenkins 容器寻找到 jar 包

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

  • 引入 shell 脚本


JAR_PATHJAR_WORK_PATH 门路填写按如下截图寻找进入控制台 copy

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

  • 点击控制台,看到我的项目启动胜利

  • 然而拜访不了 http://39.102.56.91:8012/swagger-ui.html#/


curl 127.0.0.1:8012 查看容器内是否运行
因为 Jenkins 是通过容器部署,须要咱们把端口号映射进去

  • 停掉容器
systemctl restart docker

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

  • 退出 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

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

  • 再次拜访[http://39.102.56.91:8012/swagger-ui.html#/]

  • java -jar 属于 前台启动形式导致始终在启动中,控制台始终转圈

  • 批改为后盾启动

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

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

正文完
 0