Advertisement
Guest User

Untitled

a guest
Mar 1st, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. sh '''
  2. echo '# Building Docker container with embedded WAR unless TOMCAT_WAR_DEPLOY_ENABLED is set'
  3. if [[ $TOMCAT_WAR_DEPLOY_ENABLED == "true" ]]
  4. then
  5. echo 'We will not build a docker image'
  6. else
  7. cat <<EOF >> Dockerfile
  8. FROM docker.servoy.com/alpine-tomcat:${BASE_TOMCAT_IMAGE}
  9. COPY ROOT.war /tmp/ROOT.war
  10. ENV SOL_PASS "${SERVOY_DEFAULT_PASSWORD}"
  11. EXPOSE 8080
  12. ENTRYPOINT ["supervisord", "--nodaemon"]
  13. EOF
  14. # Check if parameter MULTI_SOLUTION_NAME is defined, required for Kubernetes Tomcat Deployment
  15. # Required naming convention for parameter: lowercases, no special characters
  16. if [[ -z $MULTI_SOLUTION_NAME ]]
  17. then
  18. docker build . -t registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}:${BUILD_ID}
  19. docker tag registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}:${BUILD_ID} \
  20. registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}:latest
  21. docker login --username=jenkins-$KUBE_SCOPE --password=$PORTUS_PASSWORD registry.core.servoy-cloud.eu:5000/$KUBE_SCOPE-eu-namespace
  22. docker push registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}:${BUILD_ID}
  23. docker push registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}:latest
  24. # Parameter K8S_CONTEXT if set to US will update Docker Image of Tomcat Deployment in US cluster
  25. # if not set, it will update Docker Image of Tomcat Deployment in EU cluster
  26. echo '# Updating Kubernetes deployment with latest container version'
  27. if [[ -z $K8S_CONTEXT ]]
  28. then
  29. kubectl set image deployment tomcat-${BTYPE}-${KUBE_SCOPE} \
  30. tomcat=registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}:${BUILD_ID}
  31. else
  32. kubectl --context=us-east-1a.servoy-cloud.com set image deployment tomcat-${BTYPE}-${KUBE_SCOPE} \
  33. tomcat=registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}:${BUILD_ID}
  34. fi
  35. else
  36. docker build . -t registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}-${MULTI_SOLUTION_NAME}:${BUILD_ID}
  37. docker tag registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}-${MULTI_SOLUTION_NAME}:${BUILD_ID} \
  38. registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}-${MULTI_SOLUTION_NAME}:latest
  39. docker login --username=jenkins-${KUBE_SCOPE} --password=${PORTUS_PASSWORD} registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace
  40. docker push registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}-${MULTI_SOLUTION_NAME}:${BUILD_ID}
  41. docker push registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}-${MULTI_SOLUTION_NAME}:latest
  42. echo '# Updating Kubernetes deployment with latest container version'
  43. if [[ -z $K8S_CONTEXT ]]
  44. then
  45. kubectl set image deployment tomcat-${BTYPE}-${MULTI_SOLUTION_NAME}-${KUBE_SCOPE} \
  46. tomcat=registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}-${MULTI_SOLUTION_NAME}:$BUILD_ID
  47. else
  48. J_POD=$(kubectl get pods | grep -i jenkins | awk {'print $1'})
  49. kubectl cp $J_POD:/var/lib/jenkins/kube /tmp/
  50. kubectl --kubeconfig=/tmp/config_${K8S_CONTEXT} --context=us-east-1a.servoy-cloud.com set image deployment tomcat-${BTYPE}-${MULTI_SOLUTION_NAME}-${KUBE_SCOPE} \
  51. tomcat=registry.core.servoy-cloud.eu:5000/${KUBE_SCOPE}-eu-namespace/alpine-tomcat-${KUBE_SCOPE}-war-${BTYPE}-${MULTI_SOLUTION_NAME}:${BUILD_ID}
  52. fi
  53. fi
  54. fi'''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement