docker-compose安裝jenkins全過程
docker-compose安裝jenkins
1、環(huán)境準(zhǔn)備
準(zhǔn)備安裝好docker的服務(wù)器一臺(tái)
2、在服務(wù)器上創(chuàng)建一個(gè)目錄用于安裝Jenkins
mkdir jenkins
3、下載好要掛載的maven、jkd
并將下載好的tar.gz包上傳至服務(wù)器待安裝目錄中并解壓
tar -xzvf tar -xzvf apache-maven-3.9.6-bin.tar.gz tar -xzvf graalvm-jdk-21_linux-x64_bin.tar.gz

4、修改解壓后maven中的setting配置文件
主要修改倉(cāng)庫(kù)存儲(chǔ)路徑和鏡像倉(cāng)庫(kù)
<localRepository>/root/jenkins/repo</localRepository>
<!-- 配置阿里云鏡像地址 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>5、配置maven和jdk的PATH掛載文件
git用系統(tǒng)默認(rèn)的就行,不需要額外配置
mkdir -p ~/jenkins/conf vi profile
profile內(nèi)容
export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.6 export PATH=$MAVEN_HOME/bin:$PATH export JAVA_HOME=/usr/local/java/graalvm-jdk-21.0.2+13.1 export PATH=$JAVA_HOME/bin:$PATH
6、配置jenkins的docker-compose.yml文件
version: '3.9'
services:
jenkins:
image: jenkins/jenkins:2.440.2
container_name: jenkins
user: root
restart: always
deploy:
resources:
limits:
cpus: '1.00'
memory: 1G
reservations:
cpus: '0.10'
memory: 256M
ports:
- "8080:8080"
- "50000:50000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- ./data:/var/jenkins_home
- ./apache-maven-3.9.6:/usr/local/maven/apache-maven-3.9.6
- ./graalvm-jdk-21.0.2+13.1:/usr/local/java/graalvm-jdk-21.0.2+13.1
- ./conf/profile:/root/.bashrc
environment:
- TZ=Asia/Shanghai
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/login"]
interval: 30s
timeout: 10s
retries: 8
start_period: 60s7、啟動(dòng)好后訪問
跟隨引導(dǎo)安裝推薦插件和創(chuàng)建賬戶

8、配置環(huán)境變量,只需配置
系統(tǒng)管理–全局屬性–環(huán)境變量:PATH
path獲取方法:進(jìn)入Jenkins的docker中進(jìn)行獲取
docker exec -it jenkins bash echo $PATH
補(bǔ)充:
以上配置在jenkins中執(zhí)行mvn -v命令查看mvn對(duì)應(yīng)的java版本時(shí),發(fā)現(xiàn)還是舊的版本,跟掛載的版本不一致,這是因?yàn)閖enkins去執(zhí)行時(shí)使用的是Jenkins啟動(dòng)時(shí)的JAVA_HOME導(dǎo)致的,此時(shí)需要增加下環(huán)境變量進(jìn)行覆蓋就可
查看鏡像設(shè)置的JAVA_HOME

docker inspect jenkins/jenkins:2.440.2

PATH變量
/usr/local/java/graalvm-jdk-21.0.2+13.1/bin:/usr/local/maven/apache-maven-3.9.6/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
配置完成后截圖:

9、訪問403異常錯(cuò)誤排查
MESSAGE: No valid crumb was included in the request

處理辦法:
將【啟用代理兼容】勾上

10、新建一個(gè)流水線任務(wù)并配置pipeline腳本
pipeline {
agent any
stages {
stage('開始') {
// 開始
steps {
echo "開始"
}
}
stage('環(huán)境檢測(cè)') {
steps {
// 構(gòu)建環(huán)境檢測(cè)
sh '''
cat /proc/version
free -m
df -h
docker -v
git -v
mvn -v
java -version
'''
echo 'Hello jenkins'
}
}
stage('你好 jenkins') {
// 結(jié)束
steps {
echo "結(jié)束"
}
}
}
}配置截圖:

11、保存后點(diǎn)擊:立即構(gòu)建

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker滾動(dòng)標(biāo)簽無感升級(jí)+一鍵回滾的完整方案
本文詳細(xì)介紹了Docker鏡像滾動(dòng)更新機(jī)制,涵蓋大版本與小版本升級(jí)規(guī)則,提供極簡(jiǎn)命令操作,確保升級(jí)無縫無感,覆蓋開發(fā)、測(cè)試、生產(chǎn)全流程,支持運(yùn)維人員快速掌握,需要的朋友可以參考下2026-06-06
如何將Docker鏡像保存為一個(gè)離線的tar歸檔文件
文章描述了如何將Docker鏡像保存為離線的tar歸檔文件,并在其他機(jī)器上重新加載的過程,包括保存鏡像為tar文件、傳輸tar文件和在目標(biāo)機(jī)器上加載tar文件為鏡像的步驟2026-01-01
如何根據(jù)docker服務(wù)保存日志腳本(時(shí)間可選版本)
在開發(fā)基于Docker的應(yīng)用程序時(shí),能夠在日志中查找特定信息并將此數(shù)據(jù)保存到文件中可以加快故障排除和調(diào)試過程,這篇文章主要介紹了如何根據(jù)docker服務(wù)保存日志腳本(時(shí)間可選版本)的相關(guān)資料,需要的朋友可以參考下2025-11-11
完美解決docker安裝mysql后Navicat連接不上的問題
這篇文章主要介紹了完美解決docker安裝mysql后Navicat連接不上的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
關(guān)于為Windows?Service?2019?使用?Docker的問題
最近收到領(lǐng)導(dǎo)通知,甲方需要將原來的服務(wù)器遷移到新的服務(wù)器,原來的服務(wù)器上安裝了很多的服務(wù),每次重啟之后總是有很多的問題需要人工大量的進(jìn)行干預(yù),今天小編通過本文給大家介紹下Windows?Service?2019?使用?Docker的問題,需要的朋友參考下吧2022-05-05
基于docker 搭建Prometheus+Grafana的過程詳解
這篇文章主要介紹了基于docker 搭建Prometheus+Grafana的過程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
docker 復(fù)制容器的項(xiàng)目實(shí)踐
本文主要介紹了docker 復(fù)制容器的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11

