首页 > 解决方案 > 如何从脚本转换为声明式管道

问题描述

我有这段脚本化的管道代码。我想将其转换为声明性的。任何人都可以给出/建议这个想法吗?

 def remote = [:]
 remote.allowAnyHosts = true
 node {
    def app
    def tag
    def profiles
    def appName = name
    def registryCredential = 'credentials'
    def registry = 'IP address'
    stage('Clone repository') {
        checkout scm
    }
    stage('Build for test') {
        if (env.BRANCH_NAME == 'master') {
            sh "echo Building for test"
            profiles = '-Ptest,docker,keycloak'
            tag = "itt"
            remote.name = 'test'
            remote.host = registry

            withMaven(maven: 'Maven3.6') {
                sh 'mvn clean package -DskipTests ' + profiles
            }
            app = docker.build(registry + "/" + appName, "services/name/name-boot/")

            docker.withRegistry('http://'+registry+':8082', registryCredential) {
                app.push("${env.BUILD_NUMBER}")
                app.push(tag)
            }
        }
    }

标签: jenkinsjenkins-pipelinejenkins-groovyjenkins-declarative-pipeline

解决方案


推荐阅读