一、Jenkins 安裝
1.1 系統要求
- 基礎環境:Java 8 或 Java 11(推薦)、至少 2GB 內存、10GB 以上磁盤空間
- 支持系統:Windows、Linux(Ubuntu/CentOS)、macOS
- 網絡端口:默認使用 8080 端口(需確保端口未被占用)
1.2 不同系統安裝步驟(附圖解)
1.2.1 Ubuntu 系統安裝
步驟流程圖解:
執行命令:
# 更新系統包
sudo apt update# 安裝 Java 11
sudo apt install openjdk-11-jdk# 導入 Jenkins 密鑰
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -# 添加 Jenkins 源
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'# 安裝 Jenkins
sudo apt update && sudo apt install jenkins# 啟動服務并設置開機自啟
sudo systemctl start jenkins
sudo systemctl enable jenkins# 檢查狀態(出現 "active (running)" 即為成功)
sudo systemctl status jenkins
1.2.2 CentOS 系統安裝
步驟流程圖解:
執行命令:
# 安裝 Java 11
sudo yum install java-11-openjdk-devel# 添加 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.key# 安裝 Jenkins
sudo yum install jenkins# 啟動并設置自啟
sudo systemctl start jenkins
sudo systemctl enable jenkins# 開放 8080 端口(防火墻配置)
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload# 驗證端口
sudo firewall-cmd --list-ports | grep 8080
1.2.3 Windows 系統安裝
步驟流程圖解:
操作步驟:
- 下載安裝包:訪問 Jenkins 官網,選擇 Windows 版本(.msi 格式)
- 雙擊安裝包,按照向導提示完成安裝(默認配置即可滿足基礎需求)
- 安裝完成后,Jenkins 會自動作為服務啟動,可在 “服務” 中查看狀態(服務名:Jenkins)
二、Jenkins 初始配置
2.1 解鎖 Jenkins(核心步驟圖解)
解鎖流程圖解:
詳細操作:
- 訪問 Jenkins 界面:打開瀏覽器,輸入 http://服務器IP:8080(本地部署用 localhost:8080)
- 獲取初始密碼:
-
- Linux 系統:執行命令 sudo cat /var/lib/jenkins/secrets/initialAdminPassword
-
- Windows 系統:密碼文件路徑 C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword
? ? ?3. 輸入密碼解鎖:將獲取到的密碼復制到頁面輸入框,點擊 “繼續”
2.2 插件安裝與管理員配置
配置流程圖解:
關鍵說明:
- 推薦插件:包含 Git、Pipeline、Maven Integration 等核心插件,適合新手
- 自定義插件:后續可通過 “插件管理” 補充安裝,常用插件清單:
-
- Git:拉取 Git 倉庫代碼
-
- Pipeline:創建流水線項目
-
- Docker:Docker 鏡像構建與部署
-
- Publish Over SSH:通過 SSH 部署應用
-
- NodeJS:構建前端(React/Vue)項目
三、Jenkins 全局配置(工具與環境)
3.1 配置 JDK(圖解步驟)
配置流程圖解:
路徑獲取方法:
- Linux 系統:執行 which java 或 update-alternatives --config java,獲取路徑(如 /usr/lib/jvm/java-11-openjdk-amd64)
- Windows 系統:默認路徑 C:\Program Files\Java\jdk-11.x.x
3.2 配置 Maven(前端項目可跳過)
配置流程圖解:
- 手動安裝:若服務器已安裝 Maven,取消 “自動安裝”,填寫路徑(如 Linux 下 /usr/local/maven)
3.3 配置 SSH 服務器(用于應用部署)
配置流程圖解:
- 認證方式說明:
-
- 密碼認證:直接輸入服務器登錄密碼(簡單但安全性較低)
-
- 密鑰認證:將 Jenkins 服務器的公鑰(~/.ssh/id_rsa.pub)添加到目標服務器的 ~/.ssh/authorized_keys 中(推薦)
四、創建第一個 Jenkins 項目(實戰)
4.1 自由風格項目(適合簡單任務)
創建流程圖解:
示例:構建簡單 Java 項目:
- 源碼管理:Git 倉庫 URL(如 https://github.com/example/java-demo.git)
- 構建步驟:選擇 “執行 Shell”,輸入 mvn clean package -DskipTests(編譯打包)
- 構建后操作:選擇 “Publish over SSH”,將 target/*.jar 發送到目標服務器
4.2 Pipeline 項目(推薦,支持復雜流程)
Pipeline 用代碼定義構建流程(Jenkinsfile),支持版本控制,適合團隊協作。
4.2.1 Pipeline 項目創建圖解
4.2.2 實戰:Spring Boot 應用 Pipeline 腳本(含流程圖解)
Pipeline 流程圖解:
腳本說明:
- agent any:使用任意可用的 Jenkins 節點(主節點或從節點)
- stages:定義構建階段,按順序執行
- post:構建完成后操作(成功 / 失敗通知)
五、應用部署實戰(前后端示例)
5.1 后端:Spring Boot 應用部署(Docker 方式)
部署流程圖解:
關鍵命令:
# 構建鏡像(在 Jenkinsfile 中)
docker build -t username/demo:${BUILD_NUMBER} .# 推送鏡像(需配置 Docker 憑據)
docker login -u username -p password
docker push username/demo:${BUILD_NUMBER}# 目標服務器部署
docker stop demo || true
docker rm demo || true
docker run -d --name demo -p 8080:8080 username/demo:${BUILD_NUMBER}
5.2 前端:React 應用部署(Nginx 方式)
部署流程圖解:
Nginx 配置示例:
server {listen 80;server_name demo-frontend.com; # 域名或服務器 IProot /usr/share/nginx/html; # Jenkins 推送的 build 目錄路徑index index.html;# 解決前端路由刷新 404 問題location / {try_files $uri $uri/ /index.html;}
}
六、Jenkins 安全與維護
6.1 用戶權限控制(圖解)
配置流程圖解:
常用權限說明:
- 只讀:查看項目狀態,無法觸發構建
- 構建:觸發構建、查看日志,無法修改配置
- 管理員:完全控制 Jenkins(配置、插件管理、用戶管理)
6.2 數據備份與恢復
備份流程圖解:
備份腳本示例(Linux 系統):
#!/bin/bash
# backup_jenkins.sh
JENKINS_HOME="/var/lib/jenkins"
BACKUP_DIR="/var/backups/jenkins"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")# 創建備份目錄
mkdir -p $BACKUP_DIR# 壓縮備份
tar -zcvf $BACKUP_DIR/jenkins_backup_$TIMESTAMP.tar.gz $JENKINS_HOME# 刪除 30 天前的備份
find $BACKUP_DIR -name "jenkins_backup_*.tar.gz" -mtime +30 -delete
定時任務配置:
# 每天凌晨 2 點執行備份
crontab -e
0 2 * * * /path/to/backup_jenkins.sh
七、總結與進階方向
7.1 核心能力回顧
通過本文學習,可掌握:
- 多系統 Jenkins 安裝與初始配置
- 全局工具(JDK、Maven、Git)配置
- 自由風格與 Pipeline 項目創建
- 前后端應用部署實戰(Docker、Nginx)
- 安全配置與數據備份
7.2 進階方向
- 多環境部署:通過 Pipeline 實現開發、測試、生產環境一鍵切換
- 藍綠部署 / 金絲雀發布:減少部署風險,實現無感知更新
- Jenkins 從節點:分布式構建,分擔主節點壓力(適合大型項目)
- 集成監控工具:如 Prometheus + Grafana,監控 Jenkins 構建狀態與服務器資源