Jenkinsfile 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. node {
  2. // Git checkout before load source the file
  3. checkout scm
  4. // sh '''
  5. // ls -lhrt
  6. // '''
  7. def rootDir = pwd()
  8. def yaml2Map = load "./sharedLibs/yaml2Map.groovy"
  9. def stages = load "./sharedLibs/stages.k8s.groovy"
  10. def GLOBAL_CONFIG = yaml2Map.read('global.yaml').project
  11. jdk = tool name: 'openJDK8'
  12. env.JAVA_HOME = "${jdk}"
  13. dir("poyee-auction-modules/DEV/order") {
  14. def PROJECT_CONFIG = yaml2Map.read('cfg.yaml').project
  15. def CONFIG = yaml2Map.merge(PROJECT_CONFIG, GLOBAL_CONFIG)
  16. CONFIG.docker.image = String.format(CONFIG.docker.image, CONFIG.service.name)
  17. println 'configs: ' + CONFIG
  18. def generateDockerfile = {->
  19. pathOfDockerfile='projdir'
  20. JAR = CONFIG.service.jar
  21. module = CONFIG.service.module
  22. module = module == null ? '' : (module[-1] == '/' ? module : module + '/')
  23. sh """cat > ${pathOfDockerfile}/Dockerfile<<EOF
  24. FROM openjdk:8-alpine as final
  25. ADD ${module}target/${JAR} /app/target/${JAR}
  26. EOF
  27. """
  28. return pathOfDockerfile
  29. }
  30. String[] JAVA_ARGS = ["-Djava.security.egd=file:/dev/./urandom",
  31. "-Xmx1024m",
  32. "-Dspring.profiles.active=dev",
  33. "-Dserver.port=80",
  34. "-jar", "/app/target/${CONFIG.service.jar}"]
  35. String[] K8S_BACKUPS = []
  36. if ("upgrade" == action || "upgrade:selected" == action) {
  37. def base_branch = actionParameter.tokenize('/')[2]
  38. stages.upgrade(CONFIG, base_branch, K8S_BACKUPS, [
  39. 'GENERATEDOCKERFILE' : {generateDockerfile()},
  40. 'K3SDEPLOY' : {stages.deployWithConfigmapEnvOnly(CONFIG.service, CONFIG.k3s, base_branch, JAVA_ARGS, "./configmap-env.ini","ahxpm")}
  41. ])
  42. }
  43. }
  44. }