Jenkinsfile 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. node {
  2. // Git checkout before load source the file
  3. checkout scm
  4. def rootDir = pwd()
  5. def yaml2Map = load "./sharedLibs/yaml2Map.groovy"
  6. def stages = load "./sharedLibs/stages.k8s.groovy"
  7. def GLOBAL_CONFIG = yaml2Map.read('global.yaml').project
  8. jdk = tool name: 'openJDK8'
  9. env.JAVA_HOME = "${jdk}"
  10. dir("poyee-admin/DEV") {
  11. def PROJECT_CONFIG = yaml2Map.read('cfg.yaml').project
  12. def CONFIG = yaml2Map.merge(PROJECT_CONFIG, GLOBAL_CONFIG)
  13. CONFIG.docker.image = String.format(CONFIG.docker.image, CONFIG.service.name)
  14. println 'configs: ' + CONFIG
  15. def generateDockerFile = { ->
  16. pathDockerfile = 'projdir'
  17. module = CONFIG.service.module
  18. module = module == null ? '' : (module[-1] == '/' ? module : module + '/')
  19. JAR = CONFIG.service.jar
  20. sh """cat > ${pathDockerfile}/Dockerfile<<EOF
  21. # FROM openjdk:8-alpine as final
  22. # RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
  23. # apk add --update --nocache ttf-dejavu fontconfig
  24. FROM registry.cn-shanghai.aliyuncs.com/poyee/openjdk:8-slim
  25. ADD ${module}target/${JAR} /app/target/${JAR}
  26. EOF
  27. """
  28. return pathDockerfile
  29. }
  30. String[] JAVA_ARGS = [
  31. "-Djava.security.egd=file:/dev/./urandom",
  32. "-Xmx1536m",
  33. "-Dserver.port=80",
  34. "-jar", "/app/target/${CONFIG.service.jar}",
  35. "--spring.config.location=file:/app/configs/application.yml,file:/app/configs/application-druid.yml"]
  36. String[] K8S_BACKUPS = []
  37. if ("upgrade" == action || "upgrade:selected" == action) {
  38. def base_branch = actionParameter.tokenize('/')[2]
  39. stages.upgrade(CONFIG, base_branch, K8S_BACKUPS, [
  40. 'GENERATEDOCKERFILE': generateDockerFile,
  41. 'K3SDEPLOY' : {stages.deployWithConfigmaps(CONFIG.service, CONFIG.k3s, base_branch, JAVA_ARGS, "./configmap-env.ini", "ahxpm")}
  42. ])
  43. }
  44. }
  45. }