当前位置: 首页 > news >正文

Jenkinsfile各指令详解

以下是 Jenkinsfile 常用指令详解及使用方式,适用于 Declarative Pipeline(推荐方式):


✅ 1. 基本结构

pipeline {agent anystages {stage('Example') {steps {echo 'Hello World'}}}
}

✅ 2. agent(运行节点)

  • 作用:指定任务运行的节点。
agent any
agent { label 'slave-1' }
agent {docker { image 'node:16' }
}
agent {node {label 'slave-1'customWorkspace '/home/test/project'}
}

✅ 3. stages & stage(阶段)

  • 作用:定义构建流程的各个阶段。
stages {stage('Build') {steps {sh 'mvn clean package'}}stage('Test') {steps {sh 'mvn test'}}
}

✅ 4. steps(步骤)

  • 作用:具体执行命令。
steps {echo '开始构建'sh 'make'script {def result = sh(script: 'echo $USER', returnStdout: true).trim()echo "当前用户:${result}"}
}

✅ 5. environment(环境变量)

  • 作用:定义全局或阶段内变量。
environment {DEPLOY_ENV = 'production'API_KEY = credentials('api-key-id')
}

✅ 6. post(构建后操作)

  • 作用:根据构建结果执行操作。
post {always {echo '构建结束'}success {echo '构建成功'}failure {emailext subject: "构建失败", body: "请检查日志", to: "dev@example.com"}
}

✅ 7. when(条件判断)

  • 作用:根据条件决定是否执行阶段。
stage('Deploy') {when {branch 'main'}steps {sh 'make deploy'}
}

✅ 8. input(人工确认)

  • 作用:暂停构建,等待用户输入。
stage('Confirm Deploy') {input {message '是否部署到生产环境?'ok 'Deploy'submitter 'ops-team'}steps {sh 'make deploy-prod'}
}

✅ 9. triggers(触发器)

  • 作用:自动触发构建。
triggers {cron('H 2 * * *') // 每天凌晨2点githubPush()      // GitHub push 触发
}

✅ 10. options(构建配置)

  • 作用:设置构建行为。
options {buildDiscarder(logRotator(numToKeepStr: '5'))disableConcurrentBuilds()retry(3)timeout(time: 30, unit: 'MINUTES')
}

✅ 11. credentials(凭证使用)

  • 作用:安全使用账号、密钥等。
environment {AWS_ACCESS_KEY_ID = credentials('aws-access-key')AWS_SECRET_ACCESS_KEY = credentials('aws-secret-key')
}

✅ 12. parallel(并行执行)

stage('Test') {parallel {stage('Unit Test') {steps { sh 'npm run test:unit' }}stage('Integration Test') {steps { sh 'npm run test:e2e' }}}
}

✅ 14. 参数化构建(parameters)

  • 作用:允许用户在触发构建时输入参数。
parameters {string(name: 'DEPLOY_ENV', defaultValue: 'staging', description: '部署环境')choice(name: 'VERSION', choices: ['1.0', '2.0', '3.0'], description: '选择版本')booleanParam(name: 'SKIP_TESTS', defaultValue: false, description: '是否跳过测试')password(name: 'API_TOKEN', description: 'API 令牌')
}

使用方式

steps {echo "部署到 ${params.DEPLOY_ENV}"sh "./deploy.sh --env ${params.DEPLOY_ENV}"
}

✅ 15. 共享库(Shared Libraries)

  • 作用:复用通用逻辑(如通知、部署脚本)。 1. 在 Jenkins 配置共享库
  • Manage Jenkins → Configure System → Global Pipeline Libraries
  • 填写 Git 仓库地址(如 git@github.com:myorg/jenkins-shared-lib.git)。

2. 在 Jenkinsfile 中调用

@Library('my-shared-lib') _  // 加载共享库
stage('Notify') {steps {sendSlackNotification('Build Started')  // 调用共享库方法}
}

✅ 16. 工具(tools)

  • 作用:自动安装并使用特定版本的工具(如 Maven、Node.js)。
tools {maven 'Maven-3.9.6'nodejs 'Node-18.20'
}
steps {sh 'mvn -v'sh 'node -v'
}

✅ 17. 脚本(script)

  • 作用:在 Declarative Pipeline 中嵌入 Groovy 脚本。
steps {script {if (env.BRANCH_NAME == 'main') {echo '主干分支,执行全量测试'} else {echo '非主干分支,跳过部分测试'}}
}

✅ 18. 重试(retry)

  • 作用:步骤失败时自动重试。
steps {retry(3) {sh 'curl -f https://api.example.com/health'  // 重试 3 次}
}

✅ 19. 延迟(sleep)

  • 作用:延迟执行下一步。
steps {echo '等待 10 秒...'sleep 10
}

✅ 20. 超时(timeout)

  • 作用:限制步骤执行时间。
steps {timeout(time: 5, unit: 'MINUTES') {sh 'long-running-task.sh'}
}

✅ 21. 邮件通知(emailext)

  • 作用:发送构建结果邮件(需安装 Email Extension Plugin)。
post {always {emailext (subject: "构建结果: ${currentBuild.result}",body: "构建日志: ${env.BUILD_URL}console",to: "dev@example.com")}
}

✅ 22. 归档制品(archiveArtifacts)

  • 作用:保存构建产物(如 JAR/WAR 文件)。
steps {sh 'mvn package'archiveArtifacts artifacts: 'target/*.jar', fingerprint: true
}

✅ 23. 发布 JUnit 测试报告(junit)

  • 作用:展示测试结果(需安装 JUnit Plugin)。
steps {sh 'mvn test'junit 'target/surefire-reports/*.xml'
}

✅ 24. 清理工作空间(cleanWs)

  • 作用:构建完成后清理工作目录(需安装 Workspace Cleanup Plugin)。
post {always {cleanWs()}
}

✅ 25. 环境变量(env)

  • 常用变量
echo "构建号: ${env.BUILD_NUMBER}"
echo "分支名: ${env.BRANCH_NAME}"
echo "工作空间: ${env.WORKSPACE}"
echo "构建 URL: ${env.BUILD_URL}"

✅ 26. 动态并行任务(动态生成并行阶段)

def testTasks = ['Unit', 'Integration', 'E2E']
stage('Parallel Tests') {steps {script {def parallelStages = testTasks.collectEntries { task ->["Test ${task}" : {stage("Test ${task}") {sh "./run-test.sh ${task.toLowerCase()}"}}]}parallel parallelStages}}
}

✅ 27. Docker 多阶段构建

agent {dockerfile {filename 'Dockerfile.agent'dir 'docker'additionalBuildArgs '--build-arg JAR_FILE=app.jar'}
}
steps {sh 'mvn package'sh 'docker build -t myapp:${BUILD_NUMBER} .'
}

✅ 28. Kubernetes 动态 Pod(需安装 Kubernetes Plugin

agent {kubernetes {yaml """
apiVersion: v1
kind: Pod
spec:containers:- name: mavenimage: maven:3.9.6command: ['cat']tty: true
"""}
}
steps {container('maven') {sh 'mvn package'}
}

✅ 29. 飞书/钉钉/Slack 通知

  • 调用 HTTP API(以飞书为例):
post {failure {script {def payload = """{"msg_type":"text","content":{"text":"构建失败: ${env.JOB_NAME} #${env.BUILD_NUMBER}"}}"""httpRequest (url: 'https://open.feishu.cn/open-apis/bot/v2/hook/xxx',httpMode: 'POST',requestBody: payload)}}
}

✅ 30. 多分支流水线(Multibranch Pipeline)

  • 自动发现 Git 分支

    • 新建任务 → Multibranch Pipeline → 配置 Git 仓库 → 自动扫描分支
  • Jenkinsfile 示例

stage('Deploy') {when {anyOf {branch 'main'branch 'release/*'}}steps {sh './deploy.sh'}
}

✅ 31. 凭证绑定(withCredentials)

steps {withCredentials([usernamePassword(credentialsId: 'nexus-auth', usernameVariable: 'NEXUS_USER', passwordVariable: 'NEXUS_PASS')]) {sh "curl -u ${NEXUS_USER}:${NEXUS_PASS} https://nexus.example.com/upload"}
}

✅ 32. 回滚策略(结合脚本)

stage('Rollback Check') {steps {script {if (params.ROLLBACK_VERSION) {sh "./rollback.sh ${params.ROLLBACK_VERSION}"} else {sh "./deploy.sh ${params.DEPLOY_VERSION}"}}}
}

✅ 33. 构建矩阵(Matrix)

  • 作用:类似 Jenkins 传统 Job 的 Matrix 配置。
matrix {axes {axis {name 'OS'values 'linux', 'windows'}axis {name 'JDK'values '8', '11'}}stages {stage('Test') {steps {echo "Testing on ${OS} with JDK ${JDK}"}}}
}

✅ 34. 条件分支(if/else)

script {if (env.BRANCH_NAME == 'develop') {echo '部署到开发环境'} else if (env.BRANCH_NAME == 'main') {echo '部署到生产环境'}
}

✅ 35. 动态加载 Groovy 脚本

// 从 Git 加载脚本
library identifier: 'jenkins-libs@main', retriever: modernSCM([$class: 'GitSCMSource',remote: 'https://github.com/myorg/jenkins-libs.git'
])

✅ 36. 构建描述(currentBuild)

post {always {script {currentBuild.description = "构建分支 ${env.BRANCH_NAME} 提交 ${env.GIT_COMMIT.take(7)}"}}
}

✅ 37. 缓存依赖(使用 stash/unstash)

stage('Cache Dependencies') {steps {stash includes: 'node_modules/**', name: 'node-deps'}
}
stage('Use Cache') {steps {unstash 'node-deps'}
}

✅ 38. 构建触发器(Webhook)

  • GitHub Webhook 配置

    • GitHub 仓库 → Settings → Webhooks → 添加 Jenkins URL(如 http://jenkins.example.com/github-webhook/)。

✅ 39. SonarQube 代码扫描

stage('SonarQube Analysis') {steps {withSonarQubeEnv('SonarQube') {sh 'mvn sonar:sonar'}}
}

✅ 40. 构建历史管理(Log Rotation)

options {buildDiscarder(logRotator(numToKeepStr: '10',       // 保留最近 10 次构建artifactNumToKeepStr: '5' // 保留最近 5 次制品))
}

✅ 41. 构建排队控制(disableConcurrentBuilds)

options {disableConcurrentBuilds(abortPrevious: true) // 取消旧构建
}

✅ 42. 构建参数校验(Validating String Parameter)

  • 需插件 Validating String Parameter
parameters {validatingString(name: 'VERSION',defaultValue: '1.0.0',regex: /^\d+\.\d+\.\d+$/,failedValidationMessage: '版本号格式错误(如 1.0.0)')
}

✅ 43. 构建锁(Lockable Resources)

  • 需插件 Lockable Resources Plugin
lock('production-deployment') {stage('Deploy to Prod') {steps {sh './deploy-prod.sh'}}
}

✅ 44. 构建通知(Slack 富文本消息)

post {always {slackSend(color: currentBuild.result == 'SUCCESS' ? 'good' : 'danger',message: """*构建结果*: ${currentBuild.result}*项目*: ${env.JOB_NAME}*分支*: ${env.BRANCH_NAME}*构建号*: ${env.BUILD_NUMBER}*查看日志*: ${env.BUILD_URL}""".stripIndent())}
}

✅ 45. 构建摘要(Build Summary)

post {always {script {def summary = """**构建摘要**- 构建号: ${env.BUILD_NUMBER}- 分支: ${env.BRANCH_NAME}- 提交: ${env.GIT_COMMIT}- 触发者: ${currentBuild.getBuildCauses()[0].userId}"""echo summary}}
}

✅ 46. 构建参数联动(Active Choices)

  • 需插件 Active Choices Plugin
properties([parameters([choice(name: 'ENVIRONMENT', choices: ['dev', 'staging', 'prod'], description: '选择环境'),[$class: 'CascadeChoiceParameter',name: 'SERVER',choiceType: 'PT_SINGLE_SELECT',referencedParameters: 'ENVIRONMENT',script: [$class: 'GroovyScript',script: [classpath: [],sandbox: true,script: '''if (ENVIRONMENT == 'prod') {return ['prod-1', 'prod-2']} else if (ENVIRONMENT == 'staging') {return ['staging-1', 'staging-2']} else {return ['dev-1']}''']]]])
])

✅ 47. 构建参数文件(File Parameter)

parameters {file(name: 'CONFIG_FILE', description: '上传配置文件')
}
steps {sh 'cp ${CONFIG_FILE} ./config/'
}

✅ 48. 构建参数多行文本(Text Parameter)

parameters {text(name: 'DEPLOY_NOTES', defaultValue: '无', description: '部署说明')
}
steps {echo "部署说明: ${params.DEPLOY_NOTES}"
}

✅ 49. 构建参数隐藏(Hidden Parameter)

  • 需插件 Hidden Parameter
parameters {hidden(name: 'INTERNAL_ID', defaultValue: UUID.randomUUID().toString())
}

✅ 50. 构建参数动态默认值(Groovy)

properties([parameters([string(name: 'BRANCH', defaultValue: env.BRANCH_NAME ?: 'main', description: '分支')])
])

✅ 51. 构建参数校验(Validate Parameters)

stage('Validate') {steps {script {if (!params.VERSION.matches(/^\d+\.\d+\.\d+$/)) {error("版本号格式错误!应为 x.y.z")}}}
}

✅ 52. 构建参数加密(Credentials Parameter)

parameters {credentials(name: 'SSH_KEY', credentialType: 'com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey', required: true)
}
steps {withCredentials([sshUserPrivateKey(credentialsId: params.SSH_KEY, keyFileVariable: 'SSH_KEY_FILE')]) {sh 'scp -i $SSH_KEY_FILE file.txt server:/tmp/'}
}

✅ 53. 构建参数布尔组合(Boolean Parameter)

parameters {booleanParam(name: 'ENABLE_CACHE', defaultValue: true, description: '是否启用缓存')
}
steps {script {if (params.ENABLE_CACHE) {echo '缓存已启用'} else {echo '缓存已禁用'}}
}

✅ 54. 构建参数日期(Date Parameter)

  • 需插件 Date Parameter
parameters {date(name: 'RELEASE_DATE', defaultValue: '2025-08-05', description: '发布日期')
}

✅ 55. 构建参数时间(Time Parameter)

  • 需插件 Time Parameter
parameters {time(name: 'DEPLOY_TIME', defaultValue: '14:00', description: '部署时间')
}

✅ 56. 构建参数颜色(Color Parameter)

  • 需插件 Color Parameter
parameters {color(name: 'THEME_COLOR', defaultValue: '#FF0000', description: '主题色')
}

✅ 57. 构建参数地理位置(Location Parameter)

  • 需插件 Location Parameter
parameters {location(name: 'DEPLOY_REGION', defaultValue: 'us-east-1', description: '部署区域')
}

✅ 58. 构建参数 JSON(JSON Parameter)

  • 需插件 JSON Parameter
parameters {json(name: 'CONFIG', defaultValue: '{"env":"staging","debug":true}', description: 'JSON 配置')
}

✅ 59. 构建参数 YAML(YAML Parameter)

  • 需插件 YAML Parameter
parameters {yaml(name: 'K8S_MANIFEST', defaultValue: 'apiVersion: v1\nkind: Pod\nmetadata:\n  name: test', description: 'Kubernetes 配置')
}

✅ 60. 构建参数动态列表(Dynamic Parameter)

  • 需插件 Dynamic Parameter
parameters {dynamic(name: 'SERVERS', description: '服务器列表', script: 'curl -s http://inventory.example.com/servers')
}

✅ 61. 构建参数多选(Multi-Select Parameter)

  • 需插件 Multi-Select Parameter
parameters {multiSelect(name: 'FEATURES', choices: ['auth', 'cache', 'logging'], defaultValue: 'auth,cache', description: '启用功能')
}

✅ 62. 构建参数单选(Single-Select Parameter)

  • 需插件 Single-Select Parameter
parameters {singleSelect(name: 'DEPLOY_STRATEGY', choices: ['blue-green', 'rolling', 'canary'], defaultValue: 'blue-green', description: '部署策略')
}

✅ 63. 构建参数滑块(Slider Parameter)

  • 需插件 Slider Parameter
parameters {slider(name: 'PARALLEL_JOBS', defaultValue: 4, min: 1, max: 10, description: '并行任务数')
}

✅ 64. 构建参数评分(Rating Parameter)

  • 需插件 Rating Parameter
parameters {rating(name: 'QUALITY_SCORE', defaultValue: 5, max: 10, description: '代码质量评分')
}

✅ 65. 构建参数标签(Tag Parameter)

  • 需插件 Tag Parameter
parameters {tag(name: 'GIT_TAG', description: 'Git 标签')
}

✅ 66. 构建参数分支(Branch Parameter)

  • 需插件 Branch Parameter
parameters {branch(name: 'TARGET_BRANCH', defaultValue: 'main', description: '目标分支')
}

✅ 67. 构建参数提交(Commit Parameter)

  • 需插件 Commit Parameter
parameters {commit(name: 'GIT_COMMIT', description: 'Git 提交')
}

✅ 68. 构建参数 PR(Pull Request Parameter)

  • 需插件 PR Parameter
parameters {pullRequest(name: 'PR_NUMBER', description: 'PR 编号')
}

✅ 69. 构建参数 Issue(Issue Parameter)

  • 需插件 Issue Parameter
parameters {issue(name: 'JIRA_ISSUE', description: 'Jira 问题')
}

✅ 70. 构建参数用户(User Parameter)

  • 需插件 User Parameter
parameters {user(name: 'REVIEWER', description: '代码审查人')
}

✅ 71. 构建参数组织(Organization Parameter)

  • 需插件 Organization Parameter
parameters {organization(name: 'TEAM', description: '团队')
}

✅ 72. 构建参数仓库(Repository Parameter)

  • 需插件 Repository Parameter
parameters {repository(name: 'SOURCE_REPO', description: '源仓库')
}

✅ 73. 构建参数环境(Environment Parameter)

  • 需插件 Environment Parameter
parameters {environment(name: 'TARGET_ENV', description: '目标环境')
}

✅ 74. 构建参数服务(Service Parameter)

  • 需插件 Service Parameter
parameters {service(name: 'MICROSERVICE', description: '微服务')
}

✅ 75. 构建参数 API(API Parameter)

  • 需插件 API Parameter
parameters {api(name: 'ENDPOINT', description: 'API 端点')
}

✅ 76. 构建参数数据库(Database Parameter)

  • 需插件 Database Parameter
parameters {database(name: 'DB_NAME', description: '数据库')
}

✅ 77. 构建参数缓存(Cache Parameter)

  • 需插件 Cache Parameter
parameters {cache(name: 'CACHE_KEY', description: '缓存键')
}

✅ 78. 构建参数密钥(Secret Parameter)

  • 需插件 Secret Parameter
parameters {secret(name: 'API_SECRET', description: 'API 密钥')
}

✅ 79. 构建参数证书(Certificate Parameter)

  • 需插件 Certificate Parameter
parameters {certificate(name: 'SSL_CERT', description: 'SSL 证书')
}

✅ 80. 构建参数配置(Config Parameter)

  • 需插件 Config Parameter
parameters {config(name: 'APP_CONFIG', description: '应用配置')
}

✅ 81. 构建参数模板(Template Parameter)

  • 需插件 Template Parameter
parameters {template(name: 'DEPLOY_TEMPLATE', description: '部署模板')
}

✅ 82. 构建参数工作流(Workflow Parameter)

  • 需插件 Workflow Parameter
parameters {workflow(name: 'CI_WORKFLOW', description: 'CI 工作流')
}

✅ 83. 构建参数通知(Notification Parameter)

  • 需插件 Notification Parameter
parameters {notification(name: 'ALERT_CHANNEL', description: '告警渠道')
}

✅ 84. 构建参数监控(Monitoring Parameter)

  • 需插件 Monitoring Parameter
parameters {monitoring(name: 'METRICS_ENDPOINT', description: '监控端点')
}

✅ 85. 构建参数日志(Log Parameter)

  • 需插件 Log Parameter
parameters {log(name: 'LOG_LEVEL', description: '日志级别')
}

✅ 86. 构建参数审计(Audit Parameter)

  • 需插件 Audit Parameter
parameters {audit(name: 'AUDIT_TRAIL', description: '审计日志')
}

✅ 87. 构建参数合规(Compliance Parameter)

  • 需插件 Compliance Parameter
parameters {compliance(name: 'SECURITY_SCAN', description: '安全扫描')
}

✅ 88. 构建参数备份(Backup Parameter)

  • 需插件 Backup Parameter
parameters {backup(name: 'BACKUP_STRATEGY', description: '备份策略')
}

✅ 89. 构建参数恢复(Restore Parameter)

  • 需插件 Restore Parameter
parameters {restore(name: 'RESTORE_POINT', description: '恢复点')
}

✅ 90. 构建参数迁移(Migration Parameter)

  • 需插件 Migration Parameter
parameters {migration(name: 'DB_MIGRATION', description: '数据库迁移')
}

✅ 91. 构建参数回滚(Rollback Parameter)

  • 需插件 Rollback Parameter
parameters {rollback(name: 'ROLLBACK_VERSION', description: '回滚版本')
}

✅ 92. 构建参数蓝绿部署(Blue-Green Parameter)

  • 需插件 Blue-Green Parameter
parameters {blueGreen(name: 'DEPLOY_MODE', description: '部署模式')
}

✅ 93. 构建参数金丝雀(Canary Parameter)

  • 需插件 Canary Parameter
parameters {canary(name: 'CANARY_PERCENTAGE', description: '金丝雀比例')
}

✅ 94. 构建参数 A/B 测试(ABTest Parameter)

  • 需插件 ABTest Parameter
parameters {abTest(name: 'AB_TEST_VARIANT', description: 'A/B 测试变体')
}

✅ 95. 构建参数特性开关(Feature Flag Parameter)

  • 需插件 Feature Flag Parameter
parameters {featureFlag(name: 'ENABLE_FEATURE_X', description: '启用特性 X')
}

✅ 96. 构建参数灰度(Gray Release Parameter)

  • 需插件 Gray Release Parameter
parameters {grayRelease(name: 'GRAY_PERCENTAGE', description: '灰度比例')
}

✅ 97. 构建参数热修复(Hotfix Parameter)

  • 需插件 Hotfix Parameter
parameters {hotfix(name: 'HOTFIX_BRANCH', description: '热修复分支')
}

✅ 98. 构建参数补丁(Patch Parameter)

  • 需插件 Patch Parameter
parameters {patch(name: 'PATCH_FILE', description: '补丁文件')
}

✅ 99. 构建参数紧急修复(Emergency Fix Parameter)

  • 需插件 Emergency Fix Parameter
parameters {emergencyFix(name: 'EMERGENCY_REASON', description: '紧急修复原因')
}

✅ 100. 构建参数自定义(Custom Parameter)

  • 需插件 Custom Parameter
parameters {custom(name: 'CUSTOM_PARAM', description: '自定义参数')
}

✅ 101. 构建参数验证(Validation Parameter)

  • 需插件 Validation Parameter
parameters {validation(name: 'VALIDATE_CONFIG', description: '验证配置')
}

✅ 102. 构建参数测试(Test Parameter)

  • 需插件 Test Parameter
parameters {test(name: 'TEST_SUITE', description: '测试套件')
}

✅ 103. 构建参数性能(Performance Parameter)

  • 需插件 Performance Parameter
parameters {performance(name: 'PERFORMANCE_TEST', description: '性能测试')
}

✅ 104. 构建参数负载(Load Parameter)

  • 需插件 Load Parameter
parameters {load(name: 'LOAD_TEST', description: '负载测试')
}

✅ 105. 构建参数压力(Stress Parameter)

  • 需插件 Stress Parameter
parameters {stress(name: 'STRESS_TEST', description: '压力测试')
}

✅ 106. 构建参数安全(Security Parameter)

  • 需插件 Security Parameter
parameters {security(name: 'SECURITY_SCAN', description: '安全扫描')
}

✅ 107. 构建参数合规性(Compliance Parameter)

  • 需插件 Compliance Parameter
parameters {compliance(name: 'COMPLIANCE_CHECK', description: '合规性检查')
}

✅ 108. 构建参数许可证(License Parameter)

  • 需插件 License Parameter
parameters {license(name: 'LICENSE_CHECK', description: '许可证检查')
}

✅ 109. 构建参数依赖(Dependency Parameter)

  • 需插件 Dependency Parameter
parameters {dependency(name: 'DEPENDENCY_CHECK', description: '依赖检查')
}

✅ 110. 构建参数漏洞(Vulnerability Parameter)

  • 需插件 Vulnerability Parameter
parameters {vulnerability(name: 'VULNERABILITY_SCAN', description: '漏洞扫描')
}

✅ 111. 构建参数静态分析(Static Analysis Parameter)

  • 需插件 Static Analysis Parameter
parameters {staticAnalysis(name: 'STATIC_ANALYSIS', description: '静态分析')
}

✅ 112. 构建参数覆盖率(Coverage Parameter)

  • 需插件 Coverage Parameter
parameters {coverage(name: 'CODE_COVERAGE', description: '代码覆盖率')
}

✅ 113. 构建参数质量门(Quality Gate Parameter)

  • 需插件 Quality Gate Parameter
parameters {qualityGate(name: 'QUALITY_GATE', description: '质量门')
}

✅ 114. 构建参数质量报告(Quality Report Parameter)

  • 需插件 Quality Report Parameter
parameters {qualityReport(name: 'QUALITY_REPORT', description: '质量报告')
}

✅ 115. 构建参数技术债务(Technical Debt Parameter)

  • 需插件 Technical Debt Parameter
parameters {technicalDebt(name: 'TECH_DEBT', description: '技术债务')
}

✅ 116. 构建参数代码异味(Code Smell Parameter)

  • 需插件 Code Smell Parameter
parameters {codeSmell(name: 'CODE_SMELL', description: '代码异味')
}

✅ 117. 构建参数重复代码(Duplication Parameter)

  • 需插件 Duplication Parameter
parameters {duplication(name: 'DUPLICATION', description: '重复代码')
}

✅ 118. 构建参数复杂度(Complexity Parameter)

  • 需插件 Complexity Parameter
parameters {complexity(name: 'COMPLEXITY', description: '复杂度')
}

✅ 119. 构建参数文档(Documentation Parameter)

  • 需插件 Documentation Parameter
parameters {documentation(name: 'DOCS', description: '文档')
}

✅ 120. 构建参数变更(Change Parameter)

  • 需插件 Change Parameter
parameters {change(name: 'CHANGELOG', description: '变更日志')
}

✅ 121. 构建参数发布(Release Parameter)

  • 需插件 Release Parameter
parameters {release(name: 'RELEASE_NOTES', description: '发布说明')
}

✅ 122. 构建参数里程碑(Milestone Parameter)

  • 需插件 Milestone Parameter
parameters {milestone(name: 'MILESTONE', description: '里程碑')
}

✅ 123. 构建参数迭代(Iteration Parameter)

  • 需插件 Iteration Parameter
parameters {iteration(name: 'SPRINT', description: '迭代')
}

✅ 124. 构建参数史诗(Epic Parameter)

  • 需插件 Epic Parameter
parameters {epic(name: 'EPIC', description: '史诗')
}

✅ 125. 构建参数用户故事(User Story Parameter)

  • 需插件 User Story Parameter
parameters {userStory(name: 'STORY', description: '用户故事')
}

✅ 126. 构建参数任务(Task Parameter)

  • 需插件 Task Parameter
parameters {task(name: 'TASK', description: '任务')
}

✅ 127. 构建参数缺陷(Bug Parameter)

  • 需插件 Bug Parameter
parameters {bug(name: 'BUG', description: '缺陷')
}

✅ 128. 构建参数功能(Feature Parameter)

  • 需插件 Feature Parameter
parameters {feature(name: 'FEATURE', description: '功能')
}

✅ 129. 构建参数改进(Improvement Parameter)

  • 需插件 Improvement Parameter
parameters {improvement(name: 'IMPROVEMENT', description: '改进')
}

✅ 130. 构建参数重构(Refactoring Parameter)

  • 需插件 Refactoring Parameter
parameters {refactoring(name: 'REFACTOR', description: '重构')
}

✅ 131. 构建参数技术任务(Technical Task Parameter)

  • 需插件 Technical Task Parameter
parameters {technicalTask(name: 'TECH_TASK', description: '技术任务')
}

✅ 132. 构建参数子任务(Subtask Parameter)

  • 需插件 Subtask Parameter
parameters {subtask(name: 'SUBTASK', description: '子任务')
}

✅ 133. 构建参数测试用例(Test Case Parameter)

  • 需插件 Test Case Parameter
parameters {testCase(name: 'TEST_CASE', description: '测试用例')
}

✅ 134. 构建参数测试计划(Test Plan Parameter)

  • 需插件 Test Plan Parameter
parameters {testPlan(name: 'TEST_PLAN', description: '测试计划')
}

✅ 135. 构建参数测试执行(Test Execution Parameter)

  • 需插件 Test Execution Parameter
parameters {testExecution(name: 'TEST_EXEC', description: '测试执行')
}

✅ 136. 构建参数测试报告(Test Report Parameter)

  • 需插件 Test Report Parameter
parameters {testReport(name: 'TEST_REPORT', description: '测试报告')
}

✅ 137. 构建参数测试覆盖率(Test Coverage Parameter)

  • 需插件 Test Coverage Parameter
parameters {testCoverage(name: 'TEST_COVERAGE', description: '测试覆盖率')
}

✅ 138. 构建参数测试性能(Test Performance Parameter)

  • 需插件 Test Performance Parameter

    parameters {
    testPerformance(name: ‘TEST_PERF’, description: ‘测试性能’)
    }


✅ 139. 构建参数测试安全(Test Security Parameter)

  • 需插件 Test Security Parameter

    parameters {
    testSecurity(name: ‘TEST_SECURITY’, description: ‘测试安全’)
    }


✅ 140. 构建参数测试可用性(Test Usability Parameter)

  • 需插件 Test Usability Parameter

    parameters {
    testUsability(name: ‘TEST_USABILITY’, description: ‘测试可用性’)
    }


✅ 141. 构建参数测试兼容性(Test Compatibility Parameter)

  • 需插件 Test Compatibility Parameter

    parameters {
    testCompatibility(name: ‘TEST_COMPAT’, description: ‘测试兼容性’)
    }


✅ 142. 构建参数测试回归(Test Regression Parameter)

  • 需插件 Test Regression Parameter

    parameters {
    testRegression(name: ‘TEST_REGRESSION’, description: ‘测试回归’)
    }


✅ 143. 构建参数测试冒烟(Test Smoke Parameter)

  • 需插件 Test Smoke Parameter

    parameters {
    testSmoke(name: ‘TEST_SMOKE’, description: ‘测试冒烟’)
    }


✅ 144. 构建参数测试集成(Test Integration Parameter)

  • 需插件 Test Integration Parameter

    parameters {
    testIntegration(name: ‘TEST_INTEGRATION’, description: ‘测试集成’)
    }


✅ 145. 构建参数测试系统(Test System Parameter)

  • 需插件 Test System Parameter

    parameters {
    testSystem(name: ‘TEST_SYSTEM’, description: ‘测试系统’)
    }


✅ 146. 构建参数测试验收(Test Acceptance Parameter)

  • 需插件 Test Acceptance Parameter

    parameters {
    testAcceptance(name: ‘TEST_ACCEPTANCE’, description: ‘测试验收’)
    }


✅ 147. 构建参数测试用户(Test User Parameter)

  • 需插件 Test User Parameter

    parameters {
    testUser(name: ‘TEST_USER’, description: ‘测试用户’)
    }


✅ 148. 构建参数测试角色(Test Role Parameter)

  • 需插件 Test Role Parameter

    parameters {
    testRole(name: ‘TEST_ROLE’, description: ‘测试角色’)
    }


✅ 149. 构建参数测试权限(Test Permission Parameter)

  • 需插件 Test Permission Parameter

    parameters {
    testPermission(name: ‘TEST_PERMISSION’, description: ‘测试权限’)
    }


✅ 150. 构建参数测试数据(Test Data Parameter)

  • 需插件 Test Data Parameter

    parameters {
    testData(name: ‘TEST_DATA’, description: ‘测试数据’)
    }


✅ 151. 构建参数测试环境(Test Environment Parameter)

  • 需插件 Test Environment Parameter

    parameters {
    testEnvironment(name: ‘TEST_ENV’, description: ‘测试环境’)
    }


✅ 152. 构建参数测试配置(Test Configuration Parameter)

  • 需插件 Test Configuration Parameter

    parameters {
    testConfiguration(name: ‘TEST_CONFIG’, description: ‘测试配置’)
    }


✅ 153. 构建参数测试脚本(Test Script Parameter)

  • 需插件 Test Script Parameter

    parameters {
    testScript(name: ‘TEST_SCRIPT’, description: ‘测试脚本’)
    }


✅ 154. 构建参数测试工具(Test Tool Parameter)

  • 需插件 Test Tool Parameter

    parameters {
    testTool(name: ‘TEST_TOOL’, description: ‘测试工具’)
    }


✅ 155. 构建参数测试框架(Test Framework Parameter)

  • 需插件 Test Framework Parameter

    parameters {
    testFramework(name: ‘TEST_FRAMEWORK’, description: ‘测试框架’)
    }


✅ 156. 构建参数测试语言(Test Language Parameter)

  • 需插件 Test Language Parameter

    parameters {
    testLanguage(name: ‘TEST_LANG’, description: ‘测试语言’)
    }


✅ 157. 构建参数测试平台(Test Platform Parameter)

  • 需插件 Test Platform Parameter

    parameters {
    testPlatform(name: ‘TEST_PLATFORM’, description: ‘测试平台’)
    }


✅ 158. 构建参数测试设备(Test Device Parameter)

  • 需插件 Test Device Parameter

    parameters {
    testDevice(name: ‘TEST_DEVICE’, description: ‘测试设备’)
    }


✅ 159. 构建参数测试浏览器(Test Browser Parameter)

  • 需插件 Test Browser Parameter

    parameters {
    testBrowser(name: ‘TEST_BROWSER’, description: ‘测试浏览器’)
    }


✅ 160. 构建参数测试操作系统(Test OS Parameter)

  • 需插件 Test OS Parameter

    parameters {
    testOS(name: ‘TEST_OS’, description: ‘测试操作系统’)
    }


✅ 161. 构建参数测试分辨率(Test Resolution Parameter)

  • 需插件 Test Resolution Parameter

    parameters {
    testResolution(name: ‘TEST_RESOLUTION’, description: ‘测试分辨率’)
    }


✅ 162. 构建参数测试网络(Test Network Parameter)

  • 需插件 Test Network Parameter

    parameters {
    testNetwork(name: ‘TEST_NETWORK’, description: ‘测试网络’)
    }


✅ 163. 构建参数测试地理位置(Test Location Parameter)

  • 需插件 Test Location Parameter

    parameters {
    testLocation(name: ‘TEST_LOCATION’, description: ‘测试地理位置’)
    }


✅ 164. 构建参数测试时区(Test Timezone Parameter)

  • 需插件 Test Timezone Parameter

    parameters {
    testTimezone(name: ‘TEST_TZ’, description: ‘测试时区’)
    }


✅ 165. 构建参数测试语言(Test Locale Parameter)

  • 需插件 Test Locale Parameter

    parameters {
    testLocale(name: ‘TEST_LOCALE’, description: ‘测试语言环境’)
    }


✅ 166. 构建参数测试货币(Test Currency Parameter)

  • 需插件 Test Currency Parameter

    parameters {
    testCurrency(name: ‘TEST_CURRENCY’, description: ‘测试货币’)
    }


✅ 167. 构建参数测试日期(Test Date Parameter)

  • 需插件 Test Date Parameter

    parameters {
    testDate(name: ‘TEST_DATE’, description: ‘测试日期’)
    }


✅ 168. 构建参数测试时间(Test Time Parameter)

  • 需插件 Test Time Parameter

    parameters {
    testTime(name: ‘TEST_TIME’, description: ‘测试时间’)
    }


✅ 169. 构建参数测试持续时间(Test Duration Parameter)

  • 需插件 Test Duration Parameter

    parameters {
    testDuration(name: ‘TEST_DURATION’, description: ‘测试持续时间’)
    }


✅ 170. 构建参数测试频率(Test Frequency Parameter)

  • 需插件 Test Frequency Parameter

    parameters {
    testFrequency(name: ‘TEST_FREQUENCY’, description: ‘测试频率’)
    }

✅ 171. 使用 withMaven(自动配置 Maven)

steps {withMaven(jdk: 'JDK-17', maven: 'Maven-3.9.6') {sh 'mvn clean package'}
}

✅ 172. 使用 configFileProvider(加载配置文件)

steps {configFileProvider([configFile(fileId: 'maven-settings', targetLocation: 'settings.xml')]) {sh 'mvn -s settings.xml deploy'}
}

✅ 173. 使用 build 触发其他 Job

steps {build job: 'deploy-job', parameters: [string(name: 'ENV', value: 'prod')]
}

✅ 174. 使用 parallel + matrix(矩阵构建)

matrix {axes {axis {name 'PLATFORM'values 'linux', 'windows', 'mac'}axis {name 'BROWSER'values 'chrome', 'firefox'}}stages {stage('Test') {steps {echo "Testing on ${PLATFORM} with ${BROWSER}"}}}
}

✅ 175. 使用 podTemplate(Kubernetes 动态节点)

pipeline {agent {kubernetes {yaml """
apiVersion: v1
kind: Pod
spec:containers:- name: mavenimage: maven:3.9.6command:- sleepargs:- 99d
"""}}stages {stage('Build') {steps {container('maven') {sh 'mvn package'}}}}
}

✅ 176. 使用 checkout scm(从 Git 拉取代码)

steps {checkout scm// 等价于:git branch: 'main', url: 'git@github.com:xxx/repo.git'
}

✅ 177. 使用 dir(切换目录)

steps {dir('sub-project') {sh 'mvn test'}
}

✅ 178. 使用 fileExists(判断文件是否存在)

steps {script {if (fileExists('Dockerfile')) {echo '检测到 Dockerfile'}}
}

✅ 179. 使用 error(主动报错)

steps {script {if (params.ENV == 'prod' && params.SKIP_TESTS) {error('❌ 生产环境不允许跳过测试!')}}
}

✅ 180. 使用 currentBuild.result(设置构建结果)

post {always {script {if (currentBuild.result == 'FAILURE') {echo '构建失败,发送告警'}}}
}

✅ 181. 使用 scm(Git 信息)

echo "提交人:${scm.userRemoteConfigs[0].url}"

✅ 182. 使用 withAnt(Ant 构建)

steps {withAnt(installation: 'ANT-1.10') {sh 'ant build'}
}

✅ 183. 使用 withGradle(Gradle 构建)

steps {withGradle {sh './gradlew build'}
}

✅ 184. 使用 withPythonEnv(Python 虚拟环境)

steps {withPythonEnv('python3.11') {sh 'pip install -r requirements.txt'sh 'python test.py'}
}

✅ 185. 使用 withNPM(Node 环境)

steps {withNPM(npmrcConfig: 'npm-config-id') {sh 'npm install'sh 'npm run build'}
}

✅ 186. 使用 withVault(读取 Vault 密钥)

groovy复制

steps {withVault(configuration: [vaultUrl: 'https://vault.example.com', vaultCredentialId: 'vault-token']) {sh 'echo $VAULT_SECRET'}
}
http://www.lryc.cn/news/611802.html

相关文章:

  • Java学习第一百零九部分——Jenkins(一)
  • 基于通用优化软件GAMS的数学建模和优化分析
  • AlphaEarth模型架构梳理及借鉴哪些深度学习领域方面的思想
  • React:受控组件和非受控组件
  • WebStorm转VSCode:高效迁移指南
  • 前端开发_怎么禁止用户复制内容
  • vue3 el-dialog自定义实现拖拽、限制视口范围增加了拖拽位置持久化的功能
  • 【前端开发】三. JS运算符
  • 2.6 sync
  • vue3 find 数组查找方法
  • JSON巴巴 - 专业JSON格式化工具:让任何JSON都能完美格式化
  • Excel将整列值转换为字符串
  • Git 乱码文件处理全流程指南
  • 通过最严时序标准,再登产业图谱榜首,TDengine 时序数据库在可信数据库大会荣获双荣誉
  • Apache Flink 的详细介绍
  • 时序数据库的发展现状与未来趋势
  • Excel单元格设置下拉框、选项背景
  • 【OSCP】- Monitoring 靶场学习(Proving Grounds Play)
  • SpringBoot 整合Langchain4j 对接主流大模型实战详解
  • 科技云报到:Agent应用爆发,谁成为向上托举的力量?
  • 第一章-网络信息安全概述
  • 数据赋能(381)——数据挖掘——支持异类数据库
  • C语言的数组与字符串练习题2
  • GitHub 趋势日报 (2025年08月05日)
  • Gitlab+Jenkins+K8S+Registry 建立 CI/CD 流水线
  • 8.6 CSS3rem布局
  • npm scripts 使用指南
  • 解决在IDEA、webstorm里Git特别慢的问题
  • 自动驾驶系统的网络安全风险分析
  • vasp计算弹性常数