日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

基于Docker與Jenkins實(shí)現(xiàn)自動(dòng)化部署的原理解析_docker

作者:果子哥丶 ? 更新時(shí)間: 2022-06-13 編程語言

原理:Jenkins構(gòu)建(開發(fā)提交代碼到代碼管理平臺(tái)),Jenkins處理(Jenkins獲取遠(yuǎn)程代碼,自動(dòng)將源代碼實(shí)現(xiàn)打包,執(zhí)行shell腳本啟動(dòng))。

Linux安裝Docker

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce docker-ce-cli containerd.io

sudo systemctl start docker

aliyun配置鏡像加速器

配置鏡像加速器
針對(duì)Docker客戶端版本大于 1.10.0 的用戶

您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://r27gglie.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

基于Docker安裝Jenkins環(huán)境

1、使用docker安裝jenkins

docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

2、進(jìn)入到docker容器查看密鑰
docker exec -it dfe5e689b6c9 /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword

3、打開8080網(wǎng)頁并輸入密鑰
970cbd92daba4a54ad593ff4c44449e2

將本地項(xiàng)目上傳到碼云代碼管理平臺(tái)
https://gitee.com/kolorbgg/devops.git
https://gitee.com/yushengjun644/mayikt-springboot.git
https://www.jianshu.com/p/e50cb1448a16
報(bào)錯(cuò)則使用強(qiáng)制推:
git push -u origin +master #強(qiáng)制push

Jenkins全局工具配置

進(jìn)入到j(luò)enkins容器中echo $JAVA_HOME 獲取java環(huán)境安裝地址

安裝Jenkins對(duì)應(yīng)的Maven插件

“系統(tǒng)管理”——》“安裝插件”,點(diǎn)擊“可選插件”,找到Maven Integration

Jenkins新建任務(wù)構(gòu)建SpringBoot

源碼管理:

Pre Steps

立即構(gòu)建:

容器里查看:

docker exec -it dfe5e689b6c9 /bin/bash
cd /var/jenkins_home/workspace/devops/target/

Jenkins實(shí)現(xiàn)后臺(tái)啟動(dòng)任務(wù)-shell
Post Steps

#!/bin/bash
#服務(wù)名稱
SERVER_NAME=devops
# 源jar路徑,mvn打包完成之后,target目錄下的jar包名稱,也可選擇成為war包,war包可移動(dòng)到Tomcat的webapps目錄下運(yùn)行,這里使用jar包,用java -jar 命令執(zhí)行  
JAR_NAME=devops-1.0-SNAPSHOT
# 源jar路徑  
#/usr/local/jenkins_home/workspace--->jenkins 工作目錄
#demo 項(xiàng)目目錄
#target 打包生成jar包的目錄
JAR_PATH=/var/jenkins_home/workspace/devops/target
# 打包完成之后,把jar包移動(dòng)到運(yùn)行jar包的目錄--->work_daemon,work_daemon這個(gè)目錄需要自己提前創(chuàng)建
JAR_WORK_PATH=/var/jenkins_home/workspace/devops/target

echo "查詢進(jìn)程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "得到進(jìn)程ID:$PID"
echo "結(jié)束進(jìn)程"
for id in $PID
do
	kill -9 $id  
	echo "killed $id"  
done
echo "結(jié)束進(jìn)程完成"

#復(fù)制jar包到執(zhí)行目錄
echo "復(fù)制jar包到執(zhí)行目錄:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "復(fù)制jar包完成"
cd $JAR_WORK_PATH
#修改文件權(quán)限
chmod 755 $JAR_NAME.jar

# java -jar $JAR_NAME.jar
# 上面指的是前臺(tái)啟動(dòng)

# 后臺(tái)啟動(dòng)
BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &

sudo systemctl restart docker
docker rm $(sudo docker ps -a -q)
docker run -p 8080:8080 -p 8082:8082 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

訪問:http://10.0.100.136:8082/getMayikt

原文鏈接:https://blog.csdn.net/qq_39578545/article/details/124094841

欄目分類
最近更新