Jenkinsfile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. 1. added
  3. client_max_body_size 0;
  4. to avoid 413 error
  5. */
  6. node {
  7. def app
  8. def registryAddress
  9. def registryCredential
  10. try {
  11. // environment {
  12. registryAddress = "https://000-sidali.kemdiktisaintek.go.id"
  13. registryCredential = 'DockerRegistry-ID'
  14. // }
  15. stage('Checkout') {
  16. checkout scm
  17. }
  18. stage('Initialize'){
  19. def dockerHome = tool 'myDocker'
  20. env.PATH = "${dockerHome}/bin:${env.PATH}"
  21. }
  22. stage('Environment') {
  23. sh 'git --version'
  24. echo "Branch: master"
  25. sh 'docker -v'
  26. sh 'printenv'
  27. sh 'docker-compose -v'
  28. }
  29. stage('Test Build'){
  30. sh 'docker build -t ptb-be -f dockerfile .'
  31. }
  32. stage('Build Deploy '){
  33. docker.withTool("myDocker"){
  34. docker.withRegistry(registryAddress, registryCredential) {
  35. def dockerImage = docker.build("ptb-be:${env.BUILD_ID}")
  36. /* Push the container to the custom Registry */
  37. dockerImage.push()
  38. dockerImage.push('latest')
  39. def imageName = "000-sidali.kemdiktisaintek.go.id/ptb-be:latest"
  40. def composeDir = '/workdir/production'
  41. sh "docker pull ${imageName}"
  42. sh "docker stop ptb-Backend"
  43. sh "docker rm ptb-Backend"
  44. sh """
  45. cd ${composeDir} &&
  46. docker-compose stop ptb-be &&
  47. docker-compose rm -f ptb-be &&
  48. docker-compose up -d ptb-be
  49. """
  50. echo "Deploy completed successfully"
  51. }
  52. }
  53. }
  54. }
  55. catch (err) {
  56. throw err
  57. }
  58. }