基于Docker與Jenkins實(shí)現(xiàn)自動(dòng)化部署的原理解析
原理: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
到此這篇關(guān)于基于Docker與Jenkins實(shí)現(xiàn)自動(dòng)化部署的文章就介紹到這了,更多相關(guān)Docker Jenkins自動(dòng)化部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Docker?+?jenkins項(xiàng)目打包鏡像部署詳細(xì)步驟(親測(cè)有效)
- Jenkins+Docker實(shí)現(xiàn)自動(dòng)化部署
- Docker安裝Jenkins并部署Maven項(xiàng)目詳細(xì)教程
- Jenkins整合Docker自動(dòng)化部署的實(shí)現(xiàn)
- Jenkins+Docker?一鍵自動(dòng)化部署?SpringBoot?項(xiàng)目的詳細(xì)步驟
- Docker搭建Jenkins并自動(dòng)化打包部署項(xiàng)目的步驟
- Docker+Jenkins實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目的圖文教學(xué)
相關(guān)文章
docker環(huán)境下安裝jenkins容器的詳細(xì)教程
這篇文章主要介紹了docker環(huán)境下安裝jenkins容器的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Docker容器的網(wǎng)絡(luò)管理和網(wǎng)絡(luò)隔離的實(shí)現(xiàn)
這篇文章主要介紹了Docker容器的網(wǎng)絡(luò)管理和網(wǎng)絡(luò)隔離的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05教你如何利用docker-maven-plugin自動(dòng)化部署
本文通過兩個(gè)例子給大家講解如何利用docker-maven-plugin自動(dòng)化部署,給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-09-09Docker中實(shí)現(xiàn)CI(持續(xù)集成)和CD(持續(xù)交付/部署)的實(shí)戰(zhàn)詳解
持續(xù)集成(CI/CD)是一種軟件開發(fā)的經(jīng)驗(yàn)總結(jié),它用于幫助開發(fā)團(tuán)隊(duì)和交付團(tuán)隊(duì)實(shí)現(xiàn)頻繁且快速的集成,以及測(cè)試他們的工作成果,以盡可能快地發(fā)現(xiàn)項(xiàng)目開發(fā)和交付工程中的錯(cuò)誤,本文就給大家詳細(xì)的介紹一下Docker中如何實(shí)現(xiàn)CI和CD,需要的朋友可以參考下2023-08-08遷移變更Docker默認(rèn)數(shù)據(jù)存儲(chǔ)目錄的步驟詳解
Docker安裝的默認(rèn)數(shù)據(jù)目錄為/var/lib/docker,但是如果/目錄掛載的磁盤空間不夠,就需要遷移docker數(shù)據(jù)到其他目錄,接下來本就給大家介紹遷移變更Docker默認(rèn)數(shù)據(jù)存儲(chǔ)目錄的操作步驟,需要的朋友可以參考下2023-12-12