.gitlab-ci.yml 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # 定义流水线阶段,在这里我们分为打包、检查运行环境、部署三个阶段,分别为:package/check-env/deploy
  2. stages:
  3. - package
  4. - build_image
  5. - push_image
  6. # 定义所需变量
  7. variables:
  8. FILE_NAME: sendmessage-0.0.1-SNAPSHOT.jar
  9. REGISTRY_URI: ybd2021-registry.cn-shanghai.cr.aliyuncs.com
  10. REGISTRY_NAMESPACE: production
  11. CI_REGISTRY_USER: why@1563149204495493
  12. CI_REGISTRY_PASSWORD: youbaidi@2021
  13. # 打包项目公共阶段
  14. 步骤1:打包项目:
  15. stage: package
  16. only:
  17. - tags
  18. tags:
  19. - maven
  20. script:
  21. - mvn clean package -f sendmessage/pom.xml -Dmaven.test.skip=true -P pro
  22. artifacts:
  23. paths:
  24. - sendmessage/target/$FILE_NAME
  25. 步骤2:制作镜像:
  26. stage: build_image
  27. only:
  28. refs:
  29. - tags
  30. tags:
  31. - docker-env
  32. script:
  33. - sudo docker build -t $CI_PROJECT_NAME:$CI_COMMIT_REF_NAME .
  34. - sudo docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $REGISTRY_URI
  35. - sudo docker tag $CI_PROJECT_NAME:$CI_COMMIT_REF_NAME $REGISTRY_URI/$REGISTRY_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
  36. - sudo docker push $REGISTRY_URI/$REGISTRY_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME