萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Jenkins 在 Linux 上的安裝、設定與持續整合實戰

Jenkins 是最流行的開源持續整合/持續部署(CI/CD)平台。本文以 CentOS 為例,涵蓋 JDK 安裝、Jenkins 部署、Git 整合、SSH 金鑰管理、專案建立與自動化部署腳本,助你快速建立自動化流水線。

環境準備

  • JDK 1.8+(建議 yum install java-1.8.0-openjdk-devel)
  • CentOS 7/8 或 RHEL 同系列
  • 網路可連外下載套件

1. 安裝 Jenkins

# 匯入官方倉庫與金鑰
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-2023.key

# 安裝 Jenkins
sudo yum install -y jenkins

# 啟動並設定開機自啟
sudo systemctl enable --now jenkins

預設埠號 8080,瀏覽器開啟 https://<Server-IP>:8080 完成初始化解鎖(密碼在 /var/lib/jenkins/secrets/initialAdminPassword)。

2. 安裝 Git 並建立 Jenkins 專用 SSH 金鑰

sudo yum install -y git

# 切換至 jenkins 使用者
sudo su - jenkins

# 產生 SSH 金鑰(免密碼登入遠端 Git 伺服器)
ssh-keygen -t rsa -b 4096 -C "jenkins@yourdomain.com"

# 將公鑰加入 Git 伺服器(GitHub/GitLab/Bitbucket 等)的 Deploy Keys 或使用者 SSH Keys

修改 /etc/passwd 確保 jenkins 使用者 Shell 為 /bin/bash,方便互動操作。

3. Jenkins 介面設定

安裝必要外掛

系統管理 → 管理外掛 → 可選外掛 搜尋並安裝:Git plugin、GitHub plugin、Pipeline、SSH Agent。

全域工具設定

系統管理 → 全域工具設定:

  • Git:Path to executable 填 /usr/bin/git
  • GitHub:填入 Personal Access Token
  • E-mail Notification:設定 SMTP 伺服器與發信帳號,測試發信成功。

4. 建立自由風格專案並設定自動化部署

  1. 新建任務 → 選擇「自由風格專案」。
  2. 原始碼管理 選 Git,Repository URL 填 git@github.com:user/repo.git,Credentials 選擇先前建立的 SSH 金鑰。
  3. 建置觸發條件:勾選「GitHub hook trigger for GITScm polling」或設定定時輪詢 H/5 * * * *。
  4. 建置步驟 → 執行 Shell,撰寫部署腳本:
#!/bin/bash
set -e

# 列出工作區檔案
ls -la

# 同步至遠端伺服器(排除 .git 與自定義忽略清單)
rsync -auv --delete --exclude=/.git --exclude-from=./deployignore ./ root@192.168.97.243:/root/www/

# 驗證遠端檔案
ssh root@192.168.97.243 "ls -la /root/www/"

5. 遠端伺服器 SSH 免密碼與 rsync 環境

# 遠端伺服器開啟 SSH 公鑰認證
vim /etc/ssh/sshd_config
# 確認下列三行為 yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
systemctl reload sshd

# 建立 .ssh 目錄與 authorized_keys
mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 將 Jenkins 公鑰內容貼入 authorized_keys

# 安裝 rsync
yum install -y rsync

6. 執行與驗證

點擊「立即建置」,Console Output 顯示藍球(SUCCESS)即代表部署成功;紅球則需查看錯誤日誌調整腳本。

進階提示

  • 改用 Pipeline (Jenkinsfile) 實現程式碼化流水線,支援階段並行、人工審核、自動回滾。
  • 結合 Docker 建置映像、推送至 Harbor、Kubernetes 部署,構建雲原生 CI/CD。
  • 定期備份 /var/lib/jenkins(含職位設定、建置歷史、憑證)。

Jenkins 新建專案畫面

Jenkins Git 設定畫面

Jenkins 憑證設定畫面

Jenkins Repository URL 設定

Jenkins Shell 腳本範例

copyright © 萬盛學電腦網 all rights reserved