Docker+Jenkins實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目的圖文教學(xué)
1、docker安裝Jenkins
1.1、在根目錄下創(chuàng)建文件夾
cd / mkdir -p /mydata/jenkins/jenkins_home mkdir -p /mydata/jenkins/localtime
1.2、下載jenkins鏡像并啟動(dòng)運(yùn)行
docker pull jenkins/jenkins:2.414.2
docker run -d -u root -p 8080:8080 -p 50000:50000 -v /mydata/jenkins/jenkins_home:/var/jenkins_home -v /mydata/jenkins/localtime --name jenkins jenkins/jenkins:2.414.2
1.3、初始化Jenkins
獲取密碼
docker logs jenkins
頁面訪問:http://{部署Jenkins所在服務(wù)IP}:8080

1.4、Jenkins安裝步驟
選擇推薦的插件


密碼:123456

2、安裝maven插件
2.1、通過手動(dòng)上傳安裝
apache-maven-3.9.9-bin.tar.gz

解壓并復(fù)制到指定目錄
tar -zxvf apache-maven-3.9.9-bin.tar.gz
cp -r /mydata/apache-maven-3.9.9 /mydata/jenkins/jenkins_home

2.2、配置maven倉庫
<localRepository>/mydata/jenkins/jenkins_home/apache-maven-3.9.9/m2</localRepository> <!-- 阿里云倉庫 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <profile> <id>JDK-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
3、Jenkins全局配置
路徑:Dashboard > Manage Jenkins > Tools
3.1、下載插件 Publish over SSH

3.2、配置地址

1.SSH Server Name 填你虛擬機(jī)IP或用戶名
2.Hostname 填你的虛擬機(jī)IP
3.Username 默認(rèn)root
4.Remote Directory 填 /
5.保存
4、創(chuàng)建任務(wù)測試

注意:這個(gè)任務(wù)名稱對應(yīng)的就是代碼所在的文件夾
4.1、配置倉庫地址

4.2、構(gòu)建啟動(dòng)

目標(biāo):clean install

pom.xml是項(xiàng)目代碼所在位置


cp /mydata/jenkins/jenkins_home/workspace/fufeng/target/deploy-0.0.1-SNAPSHOT.jar /mydata/jenkins/jenkins_home/jar/
#!/bin/bash
APP_NAME=deploy-0.0.1-SNAPSHOT.jar
LOG_NAME=deploy-0.0.1-SNAPSHOT.log
pid=`ps -ef | grep $APP_NAME | grep -v grep|awk '{print $2}'`
function is_exist(){
pid=`ps -ef | grep $APP_NAME | grep -v grep|awk '{print $2}'`
if [ -z ${pid} ]; then
String="notExist"
echo $String
else
String="exist"
echo $String
fi
}
str=$(is_exist)
if [ ${str} = "exist" ]; then
echo " 檢測到已經(jīng)啟動(dòng)的程序,pid 是 ${pid} "
kill -9 $pid
else
echo " 程序沒有啟動(dòng)了 "
echo "${APP_NAME} is not running"
fi
str=$(is_exist)
if [ ${str} = "exist" ]; then
echo "${APP_NAME} 已經(jīng)啟動(dòng)了. pid=${pid} ."
else
source /etc/profile
BUILD_ID=dontKillMe
nohup java -Xms300m -Xmx300m -jar /mydata/jenkins/jenkins_home/workspace/fufeng/target/$APP_NAME >$LOG_NAME 2>&1 &
echo "程序已重新啟動(dòng)..."
fi啟動(dòng)腳本里面的路徑手動(dòng)創(chuàng)建
應(yīng)用保存!

4.3、驗(yàn)證是否啟動(dòng)成功
查看Java進(jìn)程:

頁面測試:

應(yīng)用保存!
以上就是Docker+Jenkins實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目的圖文教學(xué)的詳細(xì)內(nèi)容,更多關(guān)于Docker Jenkins自動(dòng)化部署項(xiàng)目的資料請關(guān)注腳本之家其它相關(guān)文章!
- Docker?+?jenkins項(xiàng)目打包鏡像部署詳細(xì)步驟(親測有效)
- 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實(shí)現(xiàn)自動(dòng)化部署的原理解析
- Docker搭建Jenkins并自動(dòng)化打包部署項(xiàng)目的步驟
相關(guān)文章
如何修改docker官方鏡像內(nèi)部內(nèi)容并重新build鏡像
這篇文章主要介紹了如何修改docker官方鏡像內(nèi)部內(nèi)容并重新build鏡像問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
Docker + Nginx + Logrotate 日志管理與輪換實(shí)
本文主要介紹了Docker + Nginx + Logrotate 日志管理與輪換實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-05-05
如何在 Ubuntu 下通過 Docker 部署 Caddy 
本文介紹了如何在Ubuntu系統(tǒng)下通過Docker部署Caddy服務(wù)器,首先安裝Docker,然后啟動(dòng)Docker服務(wù)并設(shè)置為開機(jī)自啟,接著拉取Caddy鏡像,并創(chuàng)建一個(gè)Caddyfile配置文件,使用命令運(yùn)行Caddy容器,并將本地的Caddyfile掛載到容器內(nèi),感興趣的朋友跟隨小編一起看看吧2025-03-03
docker?部署Flink和傳統(tǒng)部署的詳細(xì)過程
Flink是一個(gè)開源的分布式流處理框架,支持狀態(tài)管理、事件時(shí)間、窗口模型等特性,可以通過下載、解壓、配置和啟動(dòng)來使用,提供了多種運(yùn)行方式,包括Docker和SQLClient,本文介紹docker部署Flink和傳統(tǒng)部署的詳細(xì)過程,感興趣的朋友跟隨小編一起看看吧2025-11-11
docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn)(圖文)
Vaultwarden是一個(gè)開源的密碼管理器,它提供了類似于Bitwarden的功能,允許用戶安全地存儲(chǔ)和管理密碼、敏感數(shù)據(jù)和身份信息,本文主要介紹了docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn),感興趣的可以了解一下2023-10-10
Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore的方法步驟
這篇文章主要介紹了Gogs+Jenkins+Docker 自動(dòng)化部署.NetCore,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06

