溫馨提示×

Debian Jenkins如何容器化部署

小樊
35
2025-10-12 14:15:12
欄目: 智能運維

Debian系統下Jenkins容器化部署指南

一、前提條件

確保Debian系統已安裝Docker(推薦使用Docker CE版本),并啟動Docker服務。若未安裝,可通過以下命令完成:

sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker  # 設置開機自啟

驗證Docker是否正常運行:

sudo docker run hello-world

二、拉取Jenkins鏡像

從Docker Hub拉取官方Jenkins LTS(長期支持)鏡像(生產環境推薦,穩定性高):

sudo docker pull jenkins/jenkins:lts

三、運行Jenkins容器

使用docker run命令啟動Jenkins容器,關鍵參數說明:

  • -d:后臺運行容器;
  • -p 8080:8080:將容器8080端口映射到宿主機,用于訪問Jenkins Web界面;
  • -p 50000:50000:將容器50000端口映射到宿主機,用于Jenkins Agent節點通信;
  • --name jenkins:指定容器名稱為jenkins(便于管理);
  • -v jenkins_home:/var/jenkins_home:通過Docker卷持久化Jenkins數據(避免容器刪除后數據丟失);
  • -v /var/run/docker.sock:/var/run/docker.sock(可選):掛載宿主機Docker套接字,允許容器內Jenkins直接調用宿主機Docker服務(如構建鏡像)。

完整命令:

sudo docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts

四、訪問Jenkins并完成初始化

  1. 獲取初始管理員密碼
    容器啟動后,通過以下命令獲取Jenkins初始密碼(用于解鎖界面):

    sudo docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
    

    輸出結果類似123456abcdef...,復制該密碼。

  2. 解鎖Jenkins
    打開瀏覽器,訪問http://<Debian服務器IP>:8080,進入Jenkins初始化頁面。在“Unlock Jenkins”輸入框中粘貼上述密碼,點擊“Continue”。

  3. 安裝推薦插件
    選擇“Install suggested plugins”(安裝官方推薦的常用插件,如Git、Pipeline、Docker等),等待插件安裝完成。

  4. 創建管理員用戶
    在“Create First Admin User”頁面,填寫用戶名、密碼、郵箱等信息,點擊“Save and Finish”。

  5. 完成設置
    最后進入Jenkins主界面,點擊“Start using Jenkins”即可開始使用。

五、可選優化:使用Docker Compose管理

若需要更規范的配置(如多容器編排),可使用docker-compose.yml文件管理Jenkins部署。創建docker-compose.yml文件:

version: '3.8'
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - JAVA_OPTS=-Djenkins.install.runSetupWizard=true  # 強制顯示初始化向導
volumes:
  jenkins_home:

啟動服務:

docker-compose up -d

停止服務:

docker-compose down

注意事項

  1. 數據持久化:務必通過-v參數掛載jenkins_home卷,否則容器刪除后所有Jenkins配置、構建記錄會丟失;
  2. 權限問題:掛載的宿主機目錄(如/jenkins/data)需提前創建,并賦予權限chown -R 1000:1000 /jenkins/data(Jenkins容器內用戶jenkins的UID為1000);
  3. Docker權限:若掛載docker.sock,需確保Jenkins容器內的jenkins用戶有權限訪問宿主機Docker服務(默認通過-v /var/run/docker.sock:/var/run/docker.sock實現);
  4. 鏡像選擇:生產環境優先使用lts版本(長期支持,bug修復及時),避免使用latest版本(可能不穩定)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女