您的位置:首页 > 新闻 > 会展 > 跳转国外ip的软件_万宁疫情最新消息_百度搜索关键词优化方法_北京网讯百度科技有限公司

跳转国外ip的软件_万宁疫情最新消息_百度搜索关键词优化方法_北京网讯百度科技有限公司

2025/5/21 1:01:02 来源:https://blog.csdn.net/qq_42935045/article/details/147502340  浏览:    关键词:跳转国外ip的软件_万宁疫情最新消息_百度搜索关键词优化方法_北京网讯百度科技有限公司
跳转国外ip的软件_万宁疫情最新消息_百度搜索关键词优化方法_北京网讯百度科技有限公司
特性Declarative Pipeline 声明式Scripted Pipeline 脚本式
语法基于结构化 DSL,语法固定基于 Groovy 脚本,更灵活
可读性好,适合团队协作灵活性强,但不易读
复杂逻辑处理适合常规流程,有一定限制可写复杂逻辑和控制结构
学习曲线简单上手需要掌握 Groovy
错误提示更明确,容易调试错误提示偏底层
使用推荐首选!90% 用 Declarative 就够高级用法用 Scripted

 ✅ Declarative 示例

pipeline {agent anystages {stage('Build') {steps {echo "Building..."}}stage('Test') {steps {echo "Testing..."}}}post {always {echo "Pipeline finished"}}
}

⚙️ Scripted 示例

node {try {stage('Build') {echo "Building..."}stage('Test') {echo "Testing..."}} finally {echo "Pipeline finished"}
}

🧠 适用场景建议

  • Declarative

    • 团队协作(代码可读性好)

    • 常规 CI/CD 流程(编译/测试/部署)

    • 配合 Jenkins UI 编辑器使用(比如 Blue Ocean)

  • Scripted

    • 构建逻辑特别复杂,比如循环、条件嵌套很多

    • 需要使用 Groovy 高级特性(比如自定义类、闭包)

    • 与外部系统做精细交互


💡 综合建议

除非你特别需要高级 Groovy 控制结构或动态构建流程,否则 建议优先使用 Declarative Pipeline,更稳定、更容易维护。

🟦 原始:Declarative Pipeline(声明式)

pipeline {agent {node {customWorkspace pipelineCustomWorkspace}}stages {stage('Example') {steps {dir("bar") {script {myFunction()sh("pwd")sh("ls")}}}}}post {always {archiveArtifacts "**/foo.json"}}
}

🟨 转换后的 Scripted Pipeline(脚本式)

String pipelineCustomWorkspace = "/jenkins/pipeline-${BRANCH_NAME}/${BUILD_NUMBER}"def myFunction() {def content = '{"foo":"bar"}'sh("echo '${content}' > foo.json")
}node {// 切换到自定义工作目录ws(pipelineCustomWorkspace) {try {stage('Example') {dir("bar") {myFunction()sh("pwd")sh("ls")}}} finally {archiveArtifacts artifacts: "**/foo.json", fingerprint: true}}
}

🧠 对照说明:

内容声明式脚本式
指定 Agent / Nodeagentnode {}
自定义工作目录customWorkspacews() 包裹在 node
阶段和目录切换stage + dir + scriptstage {} + dir() 组合
后置操作如归档文件post { always { archiveArtifacts }}finally { archiveArtifacts }

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com