1. 系統準備與Java環境安裝
Jenkins是基于Java的應用程序,需先安裝Java運行環境(推薦OpenJDK 11及以上版本)。在Debian終端執行以下命令:
sudo apt update && sudo apt upgrade -y # 更新系統包
sudo apt install openjdk-11-jdk -y # 安裝OpenJDK 11
java -version # 驗證Java安裝(顯示版本信息即成功)
此步驟確保Jenkins具備運行基礎環境。
2. 添加Jenkins官方APT倉庫
為獲取穩定的Jenkins版本,需添加官方APT源。依次執行:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - # 導入GPG密鑰(驗證身份)
echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list # 添加倉庫地址
sudo apt update # 更新包索引以包含Jenkins倉庫
這一步使系統能從官方源獲取Jenkins安裝包。
3. 安裝Jenkins服務
通過APT包管理器安裝Jenkins:
sudo apt install jenkins -y # 自動解決依賴并安裝
安裝完成后,Jenkins會自動部署至/var/lib/jenkins
目錄。
4. 啟動Jenkins服務并設置開機自啟
啟動Jenkins服務并配置為開機自動啟動:
sudo systemctl start jenkins # 啟動Jenkins服務
sudo systemctl enable jenkins # 設置開機自啟
sudo systemctl status jenkins # 檢查服務狀態(顯示“active (running)”即正常)
通過systemctl
命令確保Jenkins持續運行。
5. 解鎖Jenkins并完成初始配置
首次訪問Jenkins需輸入初始管理員密碼,步驟如下:
http://<服務器IP>:8080
(默認端口8080);sudo cat /var/lib/jenkins/secrets/initialAdminPassword # 查看初始密碼
6. 安裝必要插件
解鎖后,進入“Manage Jenkins” > “Manage Plugins”,選擇“Install suggested plugins”(安裝推薦插件,包含Git、Pipeline等常用工具),或手動搜索安裝所需插件(如Docker、GitHub Integration)。
7. 配置全局工具與環境
進入“Manage Jenkins” > “Global Tool Configuration”,配置JDK、Git、Maven等工具的路徑(若未自動識別,需手動指定安裝路徑)。例如:
JAVA_HOME
為/usr/lib/jvm/java-11-openjdk-amd64
;/usr/bin/git
)。8. 創建管理員用戶
為保障安全性,需創建專用管理員賬戶:
9. 配置自動化流水線(可選但推薦)
為實現持續集成/交付,可創建Pipeline任務:
示例Jenkinsfile(聲明式):
pipeline {
agent any // 使用任意可用節點
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'git@github.com:your-repo/your-app.git' // 拉取代碼
}
}
stage('Build') {
steps {
sh 'mvn clean package' // Maven構建(若為Java項目)
}
}
stage('Test') {
steps {
sh 'mvn test' // 運行單元測試
}
}
stage('Deploy') {
when {
branch 'main' // 僅main分支觸發部署
}
steps {
sh './deploy.sh' // 自定義部署腳本
}
}
}
post {
always {
echo 'Build completed!' // 構建完成后輸出日志
}
}
}
此Pipeline實現了“拉取代碼→構建→測試→部署”的自動化流程。
10. 防火墻配置(可選)
若系統啟用了UFW防火墻,需允許Jenkins端口(默認8080)的訪問:
sudo ufw allow 8080/tcp # 允許TCP協議的8080端口
sudo ufw reload # 重新加載防火墻規則
確保外部設備能訪問Jenkins管理界面。