Jenkins 是最流行的開源持續整合/持續部署(CI/CD)平台。本文以 CentOS 為例,涵蓋 JDK 安裝、Jenkins 部署、Git 整合、SSH 金鑰管理、專案建立與自動化部署腳本,助你快速建立自動化流水線。
yum install java-1.8.0-openjdk-devel)# 匯入官方倉庫與金鑰
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)。
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,方便互動操作。
系統管理 → 管理外掛 → 可選外掛 搜尋並安裝:Git plugin、GitHub plugin、Pipeline、SSH Agent。
系統管理 → 全域工具設定:
Path to executable 填 /usr/bin/gitgit@github.com:user/repo.git,Credentials 選擇先前建立的 SSH 金鑰。H/5 * * * *。#!/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/"
# 遠端伺服器開啟 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
點擊「立即建置」,Console Output 顯示藍球(SUCCESS)即代表部署成功;紅球則需查看錯誤日誌調整腳本。
/var/lib/jenkins(含職位設定、建置歷史、憑證)。



