溫馨提示×

Debian上Jenkins的自動化構建

小樊
97
2025-02-18 04:24:41
欄目: 智能運維

在Debian上設置Jenkins以實現自動化構建涉及幾個關鍵步驟。以下是一個詳細的指南,幫助你完成整個過程:

環境準備

  1. 硬件與操作系統選擇

    • 推薦配置
      • 生產環境:8核CPU / 16GB內存 / 100GB SSD存儲(建議多節點部署,分離Master與Agent)
      • 測試環境:4核CPU / 8GB內存 / 50GB SSD存儲
    • 操作系統:優先選擇Ubuntu 22.04 LTS,CentOS Stream 9也可支持,但需注意FirewallD與SELinux配置。
  2. 安裝依賴與Jenkins

    • 安裝Java環境
      # Ubuntu
      sudo apt update && sudo apt install -y openjdk-11-jdk
      # CentOS
      sudo yum install -y java-11-openjdk-devel
      
    • 通過官方倉庫安裝Jenkins
      # Ubuntu
      sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io.key
      echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
      sudo apt update && sudo apt install -y jenkins
      # CentOS
      sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
      sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
      sudo yum install -y jenkins
      
    • 啟動Jenkins服務
      sudo systemctl enable jenkins
      sudo systemctl start jenkins
      sudo systemctl status jenkins  # 確認狀態為Active
      
    • 防火墻與端口開放
      sudo ufw allow 8080/tcp
      sudo ufw allow 50000/tcp
      sudo ufw reload
      

初始化配置

  1. 解鎖Jenkins:訪問 http://<服務器IP>:8080,輸入初始密碼:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  2. 加速插件安裝:更換國內鏡像源,進入 Manage Jenkins -> Plugin Manager -> Advanced,替換 Update Site URL 為:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,安裝必備插件:Pipeline、GitHub Integration、Docker、Kubernetes CLI、Credentials Binding。
  3. 權限安全配置:禁用匿名訪問,進入 Manage Jenkins -> Security -> Enable security,選擇 Logged-in users can do anything,創建管理員用戶,設置用戶名、密碼和郵箱,避免使用默認賬號“admin”。

構建流水線

  1. 連接代碼倉庫(以GitHub為例)
    • 生成SSH密鑰對:
      ssh-keygen -t rsa -b 4096 -f ~/.ssh/jenkins_github
      cat ~/.ssh/jenkins_github.pub
      # 復制公鑰到GitHub的Deploy Keys
      
    • 在Jenkins中配置憑據:進入 Manage Jenkins -> Credentials -> System -> Global credentials,添加SSH私鑰(類型:SSH Username with private key),ID命名為 github-ssh。
  2. 創建聲明式流水線項目
    • 新建Pipeline任務,任務名:demo-pipeline。
    • 選擇 Pipeline script from SCM,配置Git倉庫地址與憑據。

自動化構建配置

  1. 安裝必要的插件:在Jenkins控制臺中,導航到“Manage Jenkins” - “Manage Plugins”,安裝Build with Parameter、git插件、gitlab插件、ssh插件、Maven Integration插件等。
  2. 配置構建觸發器:在任務配置中,選擇適當的構建觸發器,常見的是選擇“GitHub hook trigger for GITScm polling”,以便在GitHub上代碼提交時觸發構建。
  3. GitHub Webhook設置:在GitHub倉庫中,導航到 Settings - Webhooks,點擊Add webhook,輸入Jenkins的webhook URL(Jenkins服務器地址 /github-webhook/),選擇適當的事件(常見的是選擇Just the push event),確保啟用webhook。

通過以上步驟,你就可以在Debian上成功設置Jenkins以實現自動化構建。每次在GitHub上提交代碼時,Jenkins將自動觸發構建,確保你的項目能夠始終保持最新、可靠的狀態。

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