.gitlab-ci.yml 896 B

1234567891011121314151617181920212223242526272829303132333435
  1. # 定义流水线阶段,在这里我们分为打包、检查运行环境、部署三个阶段,分别为:package/check-env/deploy
  2. stages:
  3. - package
  4. - build_image
  5. - push_image
  6. # 定义所需变量
  7. variables:
  8. FILE_NAME: Phoenix.war
  9. CONTAINER_NAME: phoenix
  10. # 打包项目公共阶段
  11. 步骤1:打包项目:
  12. stage: package
  13. only:
  14. refs:
  15. - dev
  16. tags:
  17. - maven
  18. script:
  19. - mvn clean package -f express-main/pom.xml -Dmaven.test.skip=true -P dev
  20. artifacts:
  21. paths:
  22. - express-main/target/$FILE_NAME
  23. 步骤2:制作镜像:
  24. stage: build_image
  25. only:
  26. refs:
  27. - dev
  28. tags:
  29. - docker-env
  30. script:
  31. - sudo docker build -t $CI_PROJECT_NAME:$CI_COMMIT_REF_NAME .
  32. - sudo docker stop $CONTAINER_NAME || true && sudo docker rm $CONTAINER_NAME || true && sudo docker run --name $CONTAINER_NAME -d -p 8080:8080 $CI_PROJECT_NAME:$CI_COMMIT_REF_NAME