--- - project: name: "openbook-pipeline" artifact: - "admin-api-server" - "admin-web-ui" - "customer-api-server" - "customer-web-ui" - "job-scheduler-server" - "workflow-server" jobs: - "{artifact}-pipeline" - job-template: name: "{artifact}-pipeline" project-type: pipeline dsl: | pipeline {{ agent {{ node {{ label "openbook_v4" customWorkspace "workspace/{artifact}" }} }} triggers {{ pollSCM "H/5 * * * *" }} stages {{ stage("gradle") {{ steps {{ checkout( scm: [ $class: "GitSCM", branches: [ [name: "unstable"] ], userRemoteConfigs: [ [url: "git@github.com:Talligent/{artifact}.git"] ] ] ) sh(script: "/var/lib/jenkins/find_next_tag.sh \$(pwd) {artifact} 4.1") sh(script: "./gradlew -PbuildNumber=\$(cat /tmp/newtag_{artifact}) -PbuildMode=buildProd -Dorg.gradle.daemon=false clean shadowJar") stash(includes: "build/libs/*.jar", name: "jar") }} }} stage("upload-jar") {{ steps {{ checkout( scm: [ $class: "GitSCM", branches: [ [name: "master"] ], userRemoteConfigs: [ [url: "git@github.com:Talligent/deployment-scripts.git"] ], extensions: [ [$class: "DisableRemotePoll"] ] ] ) unstash(name: "jar") sh(script: "ruby openbook/ruby/upload_jar.rb --webdav-url=${{WEBDAV_URL}} --webdav-username=${{WEBDAV_USERNAME}} --webdav-password=${{WEBDAV_PASSWORD}} --artifact={artifact} --version=\$(cat /tmp/newtag_{artifact}) --filepath=build/libs/{artifact}.\$(cat /tmp/newtag_{artifact}).jar") }} }} stage("docker-container") {{ steps {{ checkout( scm: [ $class: "GitSCM", branches: [ [name: "master"] ], userRemoteConfigs: [ [url: "git@github.com:Talligent/openbook-v4-ci.git"] ], extensions: [ [$class: "DisableRemotePoll"] ] ] ) sh(script: "./build-docker-containers.sh {artifact}") }} }} }} }}