在Debian上部署Jenkins并實現自動化部署涉及多個步驟,包括環境搭建、插件安裝、流水線配置等。以下是一個詳細的實踐指南:
硬件與操作系統選擇
安裝依賴與Jenkins
sudo apt update && sudo apt install -y openjdk-11-jdk
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io.key
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
sudo apt update && sudo apt install -y jenkins
sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo systemctl status jenkins # 確認狀態為Active
sudo ufw allow 8080/tcp
sudo ufw allow 50000/tcp
sudo ufw reload
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
。ssh-keygen -t rsa -b 4096 -f ~/.ssh/jenkins_github
cat ~/.ssh/jenkins_github.pub # 復制公鑰到GitHub的Deploy Keys
以下是一個簡單的聲明式Pipeline示例:
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'git@github.com:your-repo.git'
}
}
stage('Build & Test') {
steps {
sh './gradlew build' // 注意腳本權限:chmod +x gradlew
junit 'build/test-results/**/*.xml'
}
}
stage('Deploy to Production') {
when {
branch 'main'
}
steps {
sh 'kubectl apply -f deployment.yaml' // 根據環境動態切換namespace
}
}
}
}
docker run -d --name jenkins-agent \
-v /var/run/docker.sock:/var/run/docker.sock \
-e JENKINS_URL=http://master-ip:8080 \
-e JENKINS_AGENT_NAME=agent
通過以上步驟,你可以在Debian上成功搭建并配置Jenkins,實現自動化部署。根據具體需求,你還可以進一步擴展和優化Jenkins的配置和功能。