搭建 Jenkins 實現自動化部署的步驟如下:
一、環境準備
- 服務器要求
- 操作系統:Linux(推薦 Ubuntu/CentOS)、Windows 或 macOS
- 硬件:至少 2GB 內存(建議 4GB+),10GB 磁盤空間
- 依賴:Java 8 或 11(Jenkins 運行必需)
- 安裝 Java
# Ubuntu/Debian sudo apt update sudo apt install openjdk-11-jdk # CentOS/RHEL sudo yum install java-11-openjdk-devel
二、安裝 Jenkins
方法 1:通過官方倉庫安裝(Linux)
-
添加 Jenkins 倉庫密鑰和源:
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null 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 > /dev/null sudo apt update -
安裝 Jenkins:
sudo apt install jenkins -
啟動 Jenkins 并設置開機自啟:
sudo systemctl start jenkins sudo systemctl enable jenkins
方法 2:通過 WAR 包安裝(通用)
-
下載 Jenkins WAR 包:
wget https://get.jenkins.io/war-stable/2.414.3/jenkins.war -
啟動 Jenkins(默認端口 8080):
java -jar jenkins.war –httpPort=8080
三、初始化 Jenkins
- 訪問 Jenkins 控制臺
- 打開瀏覽器訪問:
http://<服務器IP>:8080
- 首次訪問會提示輸入初始密碼,通過以下命令獲取:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 打開瀏覽器訪問:
- 安裝推薦插件
- 選擇“安裝推薦的插件”,等待安裝完成。
- 創建管理員賬戶
- 設置用戶名、密碼和郵箱。
四、配置自動化部署
1. 安裝必要插件
- 進入?Dashboard > Manage Jenkins > Plugin Manager,安裝以下插件:
- Git Plugin:用于拉取代碼。
- Pipeline:支持流水線腳本。
- SSH Pipeline Steps?或?Publish Over SSH:用于遠程執行命令。
- Docker Plugin(可選):如果需要構建 Docker 鏡像。
2. 配置全局工具
- 進入?Dashboard > Manage Jenkins > Tools:
- 配置 JDK、Git、Maven/Gradle 等工具路徑。
3. 創建 Pipeline 項目
- 新建任務
- 選擇?Pipeline?類型,輸入項目名稱。
- 配置 Pipeline 腳本
- 在?Pipeline?配置中,選擇?Pipeline script?或從 SCM(如 Git)加載腳本。
- 示例腳本(拉取代碼 + 構建 + 部署):
pipeline { agent any stages { stage(‘Checkout’) { steps { git url: ‘https://github.com/your-repo.git’, branch: ‘main’ } } stage(‘Build’) { steps { sh ‘mvn clean package’ // 如果是 Maven 項目 } } stage(‘Deploy’) { steps { sshagent([‘your-ssh-credentials’]) { sh ‘scp target/*.jar user@remote-server:/path/to/deploy’ sh ‘ssh user@remote-server “systemctl restart your-service”‘ } } } } }
4. 配置憑據
- 進入?Dashboard > Manage Jenkins > Credentials,添加:
- Git 倉庫的 SSH 密鑰或用戶名密碼。
- 遠程服務器的 SSH 憑據(用于部署)。
5. 配置觸發器(可選)
- 在 Pipeline 配置中啟用?Poll SCM?或?GitHub Webhook,實現代碼提交后自動觸發構建。
五、測試與運行
- 手動觸發構建
- 在項目頁面點擊?Build Now,查看控制臺輸出是否成功。
- 驗證部署
- 檢查遠程服務器上的文件是否更新,服務是否重啟成功。
六、常見問題解決
- 權限問題
- 確保 Jenkins 用戶(如?
jenkins
)有權限訪問工作目錄和遠程服務器。 - 解決方案:
sudo chown -R jenkins:jenkins /var/lib/jenkins
- 確保 Jenkins 用戶(如?
- 端口沖突
- 如果 8080 端口被占用,啟動時指定其他端口:
java -jar jenkins.war –httpPort=8081
- 如果 8080 端口被占用,啟動時指定其他端口:
- 插件安裝失敗
- 檢查網絡連接,或手動下載插件(
.hpi
?文件)上傳到 Jenkins。
- 檢查網絡連接,或手動下載插件(
七、進階優化
-
使用 Docker 部署 Jenkins
docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts -
集成 Kubernetes
- 使用?Kubernetes Plugin?動態創建 Jenkins Agent。
-
備份與恢復
- 定期備份?
/var/lib/jenkins
?目錄或使用?ThinBackup Plugin。
- 定期備份?
通過以上步驟,你可以成功搭建 Jenkins 并實現自動化部署。根據實際需求調整 Pipeline 腳本和配置即可。