• Jenkins中管道案例脚本(声明式语法)


    pipeline {
        agent any
    
        parameters {
            choice(
                choices: 'feature
    master
    percent10',
                description: '选择要发布的分支,默认是feature',
                name: 'deploy_branch'
            )
    
            choice(
                choices: 'service
    controller
    admin-web',
                description: '选择要发布的服务,默认是controller',
                name: 'deploy_service'
            )
    
        }
    
        stages {
            stage ("Git") {
                steps {
                      // Get some code from a GitHub repository
                      //sh "echo test-auto-release"
                      script {
                          manager.addShortText("分支:"+manager.envVars['deploy_branch'])
                          manager.addShortText("服务:"+manager.envVars['deploy_service'])
                      }
                      sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh git-jmucai ${deploy_branch}"'
                }
            }
    
    
            stage ("Build") {
                steps {
                        // Run the maven build
                        //sh "echo test-auto-release"
                        sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh mvn-jmucai"'
    
                }
            }
    
    
            stage ("Copy") {
                steps {
                      // Copy file to server
                      script {
                          if ( deploy_service == 'service') {
                              sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh copy-jmucai service IP3 jmucai-hc-pro-core.pem"'
                          } else if ( deploy_service == 'controller') {
                              sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh copy-jmucai controller IP2 jmucai-hc-pro-core.pem"'
                            } else if ( deploy_service == 'admin-web') {
                              sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh copy-jmucai admin-web IP2 jmucai-hc-pro-core.pem"'
                            }
                            
                      }
    
                }
            }
    
    
            stage ("Issu") {
                steps {
                    // Update
                    script {
                      if ( deploy_service == 'service') {
                        sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh issu-jmucai service IP3 jmucai-hc-pro-core.pem"'
    
                      } else if ( deploy_service == 'controller') {
                        sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh issu-jmucai controller IP2 jmucai-hc-pro-core.pem"'
                        } else if ( deploy_service == 'admin-web') {
                        sh 'ssh -i /opt/.scripts/jmu-hc-pro-jump.pem -o StrictHostKeyChecking=no root@IP "sh /opt/jenkins/opt/.scripts/test-auto-release.sh issu-jmucai admin-web IP2 jmucai-hc-pro-core.pem"'
                        }
                     }
                    }
                }
        }
    
    }
  • 相关阅读:
    JavaCC 研究与应用( 8000字 心得 源程序)
    推荐UML插件Green UML、AmaterasUML
    Custom PMD Rules
    静态分析工具及使用总结(三)
    静态分析工具及使用总结(二)CheckStyle
    静态分析工具及使用总结(一)
    基于antlr的表达式解析器——函数类型验证
    基于antlr的表达式解析器——函数生成(通过freemarker)
    网络流--最大流--hlpp(预流推进)模板
    网络流--最大流--Dinic模板矩阵版(当前弧优化+非当前弧优化)
  • 原文地址:https://www.cnblogs.com/jmucai/p/12686481.html
Copyright © 2020-2023  润新知