Debian上Jenkins与版本控制的落地方案
一 核心架构与原则
二 环境与插件准备
sudo apt update && sudo apt install -y openjdk-11-jdkcurl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/nullecho "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/nullsudo apt update && sudo apt install -y jenkins && sudo systemctl enable --now jenkins三 将版本控制接入Jenkins
H/5 * * * * 每5分钟)或配置Webhook(GitHub/GitLab 推送事件触发)。mvn clean verify 或 ./gradlew build)。*/main)、凭据,并指定Jenkinsfile路径(默认根目录)。pipeline {
agent any
tools { jdk 'openjdk-11' } // 需在 Global Tool Configuration 中预先配置
stages {
stage('Checkout') {
steps { git url: 'git@github.com:org/repo.git', branch: 'main' }
}
stage('Build & Test') {
steps { sh './gradlew build' }
}
stage('Deploy') {
when { branch 'main' }
steps { sh 'kubectl apply -f k8s/prod.yaml' }
}
}
post {
success { echo 'Build and deploy succeeded.' }
failure { echo 'Build or deploy failed.' }
}
}
四 版本策略与分支工作流
v1.2.3),在流水线中读取标签作为构建产物版本(如 Docker 镜像标签、NPM 包版本)。env.BRANCH_NAME、env.GIT_COMMIT 或读取标签脚本获取版本元数据,统一用于制品命名与发布记录。五 安全与运维要点