Advertisement
Guest User

Untitled

a guest
May 12th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. pipeline {
  2. agent any
  3.  
  4. options {
  5. gitLabConnection('git@:giladneiger/suggest.git')
  6. timestamps()
  7. }
  8.  
  9. triggers {
  10. gitlab(triggerOnPush: true, triggerOnMergeRequest: true, branchFilterType: 'All')
  11. }
  12.  
  13. stages{
  14. stage ("build") {
  15. when {
  16. not {
  17. branch 'master'
  18. }
  19. }
  20. parallel {
  21. stage ("build-branch")
  22. {
  23. when {
  24. not {
  25. expression {
  26. return env.GIT_BRANCH =~ /^release\/.*/
  27. }
  28. }
  29. }
  30. steps {
  31. script{
  32. def server = Artifactory.newServer url: 'http://artifactory:8081/artifactory', username: 'admin', password: 'gilad123456'
  33. def rtMaven = Artifactory.newMavenBuild()
  34. env.MAVEN_HOME = '/opt/apache-maven-3.6.1'
  35. rtMaven.opts = '-Xms1024m -Xmx4096m'
  36. env.JAVA_HOME = '/usr/lib/jvm/java-8-openjdk-amd64'
  37. rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
  38. rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-snapshot-local'
  39. def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'verify'
  40. rtMaven.deployer.deployArtifacts buildInfo
  41. }
  42. }
  43. }
  44. stage ("release") {
  45. when {
  46. expression {
  47. return env.GIT_BRANCH =~ /^release\/.*/
  48. }
  49. }
  50. steps {
  51. sh '''
  52. git config --global user.name "giladneiger"
  53. git config --global user.email "giladneiger11@gmail.com"
  54. git checkout $GIT_BRANCH
  55. git pull
  56. RELEASE=$(echo $GIT_BRANCH | rev | cut -d"/" -f-1 | rev)
  57. PATCH=$(git ls-remote --tags | grep $RELEASE | rev | cut -d"." -f-1 | rev | sort -h | tail -1)
  58. PATCH=$(( $PATCH + 1 ))
  59. TAG="$RELEASE.$PATCH"
  60. echo "New tag is $TAG"
  61. git tag v$TAG
  62. git push origin v$TAG
  63. mvn versions:set -DnewVersion=$TAG
  64. '''
  65. script{
  66. def server = Artifactory.newServer url: 'http://artifactory:8081/artifactory', username: 'admin', password: 'gilad123456'
  67. def rtMaven = Artifactory.newMavenBuild()
  68. env.MAVEN_HOME = '/opt/apache-maven-3.6.1'
  69. rtMaven.opts = '-Xms1024m -Xmx4096m'
  70. env.JAVA_HOME = '/usr/lib/jvm/java-8-openjdk-amd64'
  71. rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
  72. rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-snapshot-local'
  73. def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'install'
  74. server.publishBuildInfo buildInfo
  75. }
  76. }
  77. }
  78. }
  79. }
  80. stage ("build-master") {
  81. when {
  82. branch 'master'
  83. }
  84. steps {
  85. script{
  86. def server = Artifactory.newServer url: 'http://artifactory:8081/artifactory', username: 'admin', password: 'gilad123456'
  87. def rtMaven = Artifactory.newMavenBuild()
  88. env.MAVEN_HOME = '/opt/apache-maven-3.6.1'
  89. rtMaven.opts = '-Xms1024m -Xmx4096m'
  90. env.JAVA_HOME = '/usr/lib/jvm/java-8-openjdk-amd64'
  91. rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
  92. rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-snapshot-local'
  93. def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'clean install'
  94. server.publishBuildInfo buildInfo
  95. }
  96. }
  97. }
  98.  
  99. }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement