Docker+Jenkins實現(xiàn)一鍵自動化部署項目的圖文教學(xué)
1、docker安裝Jenkins
1.1、在根目錄下創(chuàng)建文件夾
cd / mkdir -p /mydata/jenkins/jenkins_home mkdir -p /mydata/jenkins/localtime
1.2、下載jenkins鏡像并啟動運行
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、通過手動上傳安裝
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 填你虛擬機IP或用戶名
2.Hostname 填你的虛擬機IP
3.Username 默認root
4.Remote Directory 填 /
5.保存
4、創(chuàng)建任務(wù)測試

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

4.2、構(gòu)建啟動

目標(biāo):clean install

pom.xml是項目代碼所在位置


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)啟動的程序,pid 是 ${pid} "
kill -9 $pid
else
echo " 程序沒有啟動了 "
echo "${APP_NAME} is not running"
fi
str=$(is_exist)
if [ ${str} = "exist" ]; then
echo "${APP_NAME} 已經(jī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 "程序已重新啟動..."
fi啟動腳本里面的路徑手動創(chuàng)建
應(yīng)用保存!

4.3、驗證是否啟動成功
查看Java進程:

頁面測試:

應(yīng)用保存!
以上就是Docker+Jenkins實現(xiàn)一鍵自動化部署項目的圖文教學(xué)的詳細內(nèi)容,更多關(guān)于Docker Jenkins自動化部署項目的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
在docker環(huán)境中實現(xiàn)配置hosts
這篇文章主要介紹了在docker環(huán)境中實現(xiàn)配置hosts,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
docker啟動mysql并映射數(shù)據(jù)目錄(含備份腳本)
本文主要介紹了docker啟動mysql并映射數(shù)據(jù)目錄(含備份腳本),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01
docker靈活的構(gòu)建PHP環(huán)境的實現(xiàn)
這篇文章主要介紹了docker靈活的構(gòu)建PHP環(huán)境的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
通過Dockerfile構(gòu)建Docker鏡像的方法步驟
這篇文章主要介紹了通過Dockerfile構(gòu)建Docker鏡像的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
Docker 默認bridge網(wǎng)絡(luò)中配置DNS的方法
這篇文章主要介紹了Docker 默認bridge網(wǎng)絡(luò)中配置DNS的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03

