Untitled

mail@pastecode.io avatarunknown
plain_text
a month ago
3.5 kB
1
Indexable
Never

def model = Templates.make {
    parameters {
        application {
            name 'ufe-stewardesa-party-events'
            version '2023.8.291-dev'
            publishType Templates.PublishType.HARBOR
        }

        technical {
            jdk 'jdk17'
            cypress '8.7.0'
            cleanWorkspaceAfterBuild true
        }
    }

    modules {
        charts {
            name "ufe-stewardesa-party-events-charts"
        }

        application {
            module {
                name "ufe-stewardesa-party-events-logic"
                imageName "cabp-ufe-stewardesa-party-events-logic"
                publishTests true

                stubs {
                                    enabled true
                                }

                                pre { TemplateModel model ->
                                    echo "Building contract data for logic module"
                                    dir("ufe-stewardesa-party-events-logic-contract-data") {
                                        updateMavenVersion.call(to: model.applicationParameters.version)
                                        sh "mvn clean install"
                                    }
                                }


                dockerize {
                    type Templates.BuildType.DOCKER
                    pre { TemplateModel model ->
                        dir("target") {
                            sh 'mkdir dependency'
                            sh "unzip ufe-stewardesa-party-events-logic-${model.applicationParameters.version}.jar -d dependency"
                        }
                    }
                }
            }

            module {
                name "ufe-stewardesa-party-events-ui"
                imageName "cabp-ufe-stewardesa-party-events-ui"
                publishTests true
                
                dependsOn {
                    folder "ufe-stewardesa-party-events-logic"
                }

                cypress {
                        stub {
                               enabled true
                               port "8081"
                        }
                }

                dockerize {
                    type Templates.BuildType.DOCKER
                }
            }
            post {
                always { TemplateModel model ->
                    dir('ufe-stewardesa-party-events-tests') {
                        withCredentials([usernamePassword(credentialsId: 'artifactory-docker', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
                            sh "mvn clean package -Dversion=${model.applicationParameters.version} -DbuildNumber=${env.BUILD_ID} "
                            def artifactoryServer = Artifactory.server 'artifactory'
                            def uploadSpec = """{
                         "files": [
                         {
                              "pattern": "target/ufe-stewardesa-party-events-tests*.zip",
                              "target": "lib-dro/pl/creditagricole/ufe/ufe-stewardesa-party-events/validation-tests/${model.applicationParameters.version}-${env.GIT_COMMIT}/"
                         }
                         ]
                         }"""
                            artifactoryServer.upload(uploadSpec)
                        }
                    }
                }
            }
        }
    }

    jiraDistribution {
        enabled true
    }
}

template.call(model)