Jenkinsfile 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/env groovy
  2. pipeline {
  3. agent any
  4. tools {
  5. jdk "jdk-17.0.1"
  6. }
  7. stages {
  8. stage('Clean') {
  9. steps {
  10. withCredentials([file(credentialsId: 'mod_build_secrets', variable: 'ORG_GRADLE_PROJECT_secretFile')]) {
  11. echo 'Cleaning Project'
  12. sh 'chmod +x gradlew'
  13. sh './gradlew clean'
  14. }
  15. }
  16. }
  17. stage('Build') {
  18. steps {
  19. withCredentials([file(credentialsId: 'mod_build_secrets', variable: 'ORG_GRADLE_PROJECT_secretFile')]) {
  20. echo 'Building'
  21. sh './gradlew build'
  22. }
  23. }
  24. }
  25. stage('Git Changelog') {
  26. steps {
  27. withCredentials([file(credentialsId: 'mod_build_secrets', variable: 'ORG_GRADLE_PROJECT_secretFile')]) {
  28. sh './gradlew genGitChangelog'
  29. }
  30. }
  31. }
  32. stage('Publish') {
  33. steps {
  34. withCredentials([file(credentialsId: 'mod_build_secrets', variable: 'ORG_GRADLE_PROJECT_secretFile')]) {
  35. echo 'Updating version'
  36. sh './gradlew updateVersionTracker'
  37. echo 'Deploying to Maven'
  38. sh './gradlew publish'
  39. echo 'Deploying to CurseForge'
  40. sh './gradlew publishCurseForge postDiscord'
  41. }
  42. }
  43. }
  44. }
  45. post {
  46. always {
  47. archive 'build/libs/**.jar'
  48. archive 'changelog.md'
  49. }
  50. }
  51. }