溫馨提示×

Jenkins在Linux怎樣進行容器化部署

小樊
42
2025-09-29 05:39:07
欄目: 智能運維

一、環境準備

  1. 安裝Docker引擎

    • 更新系統包并卸載舊版本(若已安裝):
      # CentOS 7示例
      yum update -y && yum remove -y docker docker-common docker-selinux docker-engine
      # Ubuntu 20.04示例
      apt update -y && apt remove -y docker docker-engine docker.io containerd runc
      
    • 安裝必要依賴:
      yum install -y yum-utils device-mapper-persistent-data lvm2  # CentOS
      apt install -y apt-transport-https ca-certificates curl software-properties-common  # Ubuntu
      
    • 添加Docker官方鏡像源并安裝:
      # CentOS
      yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      yum install -y docker-ce
      # Ubuntu
      add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"
      apt install -y docker-ce
      
    • 啟動Docker并設置開機自啟:
      systemctl start docker && systemctl enable docker
      
    • 驗證安裝:
      docker --version  # 應輸出Docker版本信息
      
  2. 拉取Jenkins鏡像
    推薦使用LTS(長期支持)版本以保證穩定性:

    docker pull jenkins/jenkins:lts
    

二、Jenkins容器部署

  1. 運行Jenkins容器
    執行以下命令啟動容器,關鍵參數說明:

    • -d:后臺運行容器;
    • --name jenkins:指定容器名稱為jenkins;
    • -p 8080:8080:將容器8080端口映射到主機8080端口(Web界面);
    • -p 50000:50000:將容器50000端口映射到主機50000端口(Jenkins代理通信);
    • -v jenkins-data:/var/jenkins_home:將容器內Jenkins數據目錄掛載到Docker卷jenkins-data(持久化數據,避免容器刪除后數據丟失);
    • -v /var/run/docker.sock:/var/run/docker.sock:掛載主機Docker套接字,允許Jenkins直接調用主機Docker API(用于構建Docker鏡像等場景);
    • -e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xmx2g -Xms512m":設置Jenkins時區(可選)及JVM內存參數(根據服務器配置調整)。
    docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xmx2g -Xms512m" jenkins/jenkins:lts
    
  2. 獲取初始管理員密碼
    容器啟動后,通過以下命令獲取初始密碼(用于解鎖Jenkins):

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

    復制輸出的密碼,后續用于Web界面解鎖。

  3. 訪問Jenkins Web界面
    在瀏覽器中輸入http://<服務器IP>:8080,輸入上述獲取的初始密碼,進入Jenkins初始化頁面。

三、Jenkins初始化配置

  1. 安裝插件

    • 選擇“安裝推薦的插件”(快速搭建基礎環境),或手動選擇所需插件(如Git、Maven、Docker、Pipeline等);
    • 插件安裝完成后,重啟Jenkins(部分插件可能需要重啟生效)。
  2. 創建管理員用戶
    在“創建第一個管理員用戶”頁面,填寫用戶名、密碼、郵箱等信息,點擊“保存并完成”。

  3. 完成初始化
    點擊“開始使用Jenkins”,進入Jenkins主界面。

四、生產環境優化建議

  1. 使用Docker Compose管理容器
    創建docker-compose.yml文件(簡化容器啟停及配置管理):

    version: '3.8'
    services:
      jenkins:
        image: jenkins/jenkins:lts
        container_name: jenkins
        ports:
          - "8080:8080"
          - "50000:50000"
        volumes:
          - jenkins-data:/var/jenkins_home
          - /var/run/docker.sock:/var/run/docker.sock
        environment:
          - TZ=Asia/Shanghai
          - LANG=en_US.UTF-8
        restart: always  # 容器異常退出時自動重啟
    volumes:
      jenkins-data:
    

    啟動容器:

    docker-compose up -d
    
  2. 數據持久化增強

    • jenkins-data卷掛載到宿主機高可用存儲路徑(如/mnt/jenkins-data),避免單點故障;
    • 定期備份jenkins-data卷(可使用docker run --rm -v jenkins-data:/volume -v $(pwd):/backup busybox tar czf /backup/jenkins-backup.tar.gz -C /volume .命令)。
  3. 安全加固

    • 修改Jenkins默認端口(如將8080改為8081),避免暴露在公網;
    • 配置Jenkins認證(如LDAP、GitHub OAuth),限制訪問權限;
    • 定期更新Jenkins鏡像及插件,修復安全漏洞。

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