jenkins-pipelinelisted
Install: claude install-skill structure-projects/structure-agent-rules
# Jenkins 流水线
> 编写 Jenkins 声明式流水线。**生产部署 MUST 用户确认(input step)**。
## 声明式 Jenkinsfile 模板
### 后端(Java / Spring Boot)
```groovy
pipeline {
agent any
tools {
jdk 'jdk17'
maven 'maven3.9'
}
environment {
REGISTRY = 'registry.cn-hangzhou.aliyuncs.com'
NAMESPACE = 'structured'
IMAGE = "${REGISTRY}/${NAMESPACE}/${JOB_NAME}"
VERSION = "${env.BRANCH_NAME}-${env.BUILD_NUMBER}"
}
options {
timestamps()
disableConcurrentBuilds()
buildDiscarder(logRotator(numToKeepStr: '10'))
}
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Test') {
steps {
sh 'mvn clean test'
}
post {
always {
junit '**/target/surefire-reports/*.xml'
jacoco()
}
}
}
stage('Package') {
steps {
sh 'mvn clean package -DskipTests'
}
}
stage('Build Image') {
steps {
sh "docker build -t ${IMAGE}:${VERSION} -t ${IMAGE}:latest ."
}
}
stage('Push Image') {
steps {
withCredentials([usernamePassword(
credentialsId: 'aliyun-acr',
usernameVariable: 'USERNAME',
passwordVariable: 'PASSWORD'