Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pipeline {
- agent any
- options {
- gitLabConnection('git@:giladneiger/suggest.git')
- timestamps()
- }
- triggers {
- gitlab(triggerOnPush: true, triggerOnMergeRequest: true, branchFilterType: 'All')
- }
- stages{
- stage ("build") {
- when {
- not {
- branch 'master'
- }
- }
- parallel {
- stage ("build-branch")
- {
- when {
- not {
- expression {
- return env.GIT_BRANCH =~ /^release\/.*/
- }
- }
- }
- steps {
- script{
- def server = Artifactory.newServer url: 'http://artifactory:8081/artifactory', username: 'admin', password: 'gilad123456'
- def rtMaven = Artifactory.newMavenBuild()
- env.MAVEN_HOME = '/opt/apache-maven-3.6.1'
- rtMaven.opts = '-Xms1024m -Xmx4096m'
- env.JAVA_HOME = '/usr/lib/jvm/java-8-openjdk-amd64'
- rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
- rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-snapshot-local'
- def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'verify'
- rtMaven.deployer.deployArtifacts buildInfo
- }
- }
- }
- stage ("release") {
- when {
- expression {
- return env.GIT_BRANCH =~ /^release\/.*/
- }
- }
- steps {
- sh '''
- git config --global user.name "giladneiger"
- git config --global user.email "giladneiger11@gmail.com"
- git checkout $GIT_BRANCH
- git pull
- RELEASE=$(echo $GIT_BRANCH | rev | cut -d"/" -f-1 | rev)
- PATCH=$(git ls-remote --tags | grep $RELEASE | rev | cut -d"." -f-1 | rev | sort -h | tail -1)
- PATCH=$(( $PATCH + 1 ))
- TAG="$RELEASE.$PATCH"
- echo "New tag is $TAG"
- git tag v$TAG
- git push origin v$TAG
- mvn versions:set -DnewVersion=$TAG
- '''
- script{
- def server = Artifactory.newServer url: 'http://artifactory:8081/artifactory', username: 'admin', password: 'gilad123456'
- def rtMaven = Artifactory.newMavenBuild()
- env.MAVEN_HOME = '/opt/apache-maven-3.6.1'
- rtMaven.opts = '-Xms1024m -Xmx4096m'
- env.JAVA_HOME = '/usr/lib/jvm/java-8-openjdk-amd64'
- rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
- rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-snapshot-local'
- def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'install'
- server.publishBuildInfo buildInfo
- }
- }
- }
- }
- }
- stage ("build-master") {
- when {
- branch 'master'
- }
- steps {
- script{
- def server = Artifactory.newServer url: 'http://artifactory:8081/artifactory', username: 'admin', password: 'gilad123456'
- def rtMaven = Artifactory.newMavenBuild()
- env.MAVEN_HOME = '/opt/apache-maven-3.6.1'
- rtMaven.opts = '-Xms1024m -Xmx4096m'
- env.JAVA_HOME = '/usr/lib/jvm/java-8-openjdk-amd64'
- rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
- rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-snapshot-local'
- def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'clean install'
- server.publishBuildInfo buildInfo
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement