Jenkinsfile 1.7 KB

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