使用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

相關文章
相關標籤/搜索