You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Jenkinsfile 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. @Library('SonarSource@2.2') _
  2. pipeline {
  3. agent {
  4. label 'linux'
  5. }
  6. parameters {
  7. string(name: 'GIT_SHA1', description: 'Git SHA1 (provided by travisci hook job)')
  8. string(name: 'CI_BUILD_NAME', defaultValue: 'sonar-scanner-cli', description: 'Build Name (provided by travisci hook job)')
  9. string(name: 'CI_BUILD_NUMBER', description: 'Build Number (provided by travisci hook job)')
  10. string(name: 'GITHUB_BRANCH', defaultValue: 'master', description: 'Git branch (provided by travisci hook job)')
  11. string(name: 'GITHUB_REPOSITORY_OWNER', defaultValue: 'SonarSource', description: 'Github repository owner(provided by travisci hook job)')
  12. }
  13. environment {
  14. SONARSOURCE_QA = 'true'
  15. MAVEN_TOOL = 'Maven 3.6.x'
  16. JDK_VERSION = 'Java 11'
  17. }
  18. stages {
  19. stage('Notify') {
  20. steps {
  21. sendAllNotificationQaStarted()
  22. }
  23. }
  24. stage('QA') {
  25. parallel {
  26. stage('DOGFOOD/linux') {
  27. agent {
  28. label 'linux'
  29. }
  30. steps {
  31. runITs("DOGFOOD")
  32. }
  33. }
  34. stage('LATEST_RELEASE[6.7]/linux') {
  35. agent {
  36. label 'linux'
  37. }
  38. environment {
  39. JDK_VERSION = 'Java 8'
  40. }
  41. steps {
  42. runITs("LATEST_RELEASE[6.7]")
  43. }
  44. }
  45. stage('LATEST_RELEASE/linux') {
  46. agent {
  47. label 'linux'
  48. }
  49. steps {
  50. runITs("LATEST_RELEASE")
  51. }
  52. }
  53. stage('DOGFOOD/windows') {
  54. agent {
  55. label 'windows'
  56. }
  57. steps {
  58. runITs("DOGFOOD")
  59. }
  60. }
  61. stage('LATEST_RELEASE[6.7]/windows') {
  62. agent {
  63. label 'windows'
  64. }
  65. environment {
  66. JDK_VERSION = 'Java 8'
  67. }
  68. steps {
  69. runITs("LATEST_RELEASE[6.7]")
  70. }
  71. }
  72. stage('LATEST_RELEASE/windows') {
  73. agent {
  74. label 'windows'
  75. }
  76. steps {
  77. runITs("LATEST_RELEASE")
  78. }
  79. }
  80. stage('DOGFOOD/macosx') {
  81. agent {
  82. label 'macosx'
  83. }
  84. steps {
  85. runITs("DOGFOOD")
  86. }
  87. }
  88. stage('LATEST_RELEASE[6.7]/macosx') {
  89. agent {
  90. label 'macosx'
  91. }
  92. environment {
  93. JDK_VERSION = 'Java 8'
  94. }
  95. steps {
  96. runITs("LATEST_RELEASE[6.7]")
  97. }
  98. }
  99. stage('LATEST_RELEASE/macosx') {
  100. agent {
  101. label 'macosx'
  102. }
  103. steps {
  104. runITs("LATEST_RELEASE")
  105. }
  106. }
  107. }
  108. post {
  109. always {
  110. sendAllNotificationQaResult()
  111. }
  112. }
  113. }
  114. stage('Promote') {
  115. steps {
  116. repoxPromoteBuild()
  117. }
  118. post {
  119. always {
  120. sendAllNotificationPromote()
  121. }
  122. }
  123. }
  124. }
  125. }
  126. def runITs(SQ_VERSION) {
  127. withMaven(maven: MAVEN_TOOL) {
  128. dir("it") {
  129. runMavenOrch(JDK_VERSION,"verify -Dsonar.runtimeVersion=$SQ_VERSION -U")
  130. }
  131. }
  132. }