Files
MoWenAdmin-Api/.gitlab-ci.yml
2026-05-14 16:35:50 +08:00

114 lines
4.1 KiB
YAML

variables: #变量
#网关
MES_BACK_CONTAINER: "mowen-blog-admin-api"
MES_BACK_IMAGE: "mowen-blog-admin-api"
MES_BACK_PORT: 8080
MAVEN_OPTS: "-Djava.awt.headless=true -Dmaven.repo.local=/mydata/jun/back_project/.m2" #指定maven的存储目录
cache:
paths:
- /mydata/jun/back_project/.m2
stages:
- build
- deploy
build-dev:jdk17:
stage: build
script:
- echo "=============== 开始编译打包任务 ==============="
- mvn clean package -DskipTests -P dev
#服务
- mkdir -p /mydata/mowen-blog/back_project/app
- cp Dockerfile /mydata/mowen-blog/back_project/app
- cp mes-admin/target/mowen-admin-dev-1.0.0.jar /mydata/mowen-blog/back_project/app
artifacts:
paths:
- build/
only:
- dev #当有代码合到主干时触发这个job
tags:
- blog-dev
image: moshangjunmowen/maven-jdk17:v3
build-test:jdk17:
stage: build
script:
- echo "=============== 开始编译打包任务 ==============="
- mvn clean package -Dmaven.test.skip=true -P test
#服务
- mkdir -p /mydata/mowen-blog/back_project/app
- cp Dockerfile /mydata/mowen-blog/back_project/app
- cp mes-admin/target/mowen-admin-test-1.0.0.jar /mydata/mowen-blog/back_project/app
artifacts:
paths:
- build/
only:
- test #当有代码合到主干时触发这个job
tags:
- mes-test
image: moshangjunmowen/maven-jdk17:v3
build-prod:jdk17:
stage: build
script:
- echo "=============== 开始编译打包任务 ==============="
- mvn clean package -Dmaven.test.skip=true -P prod
#服务
- mkdir -p /mydata/mowen-blog/back_project/app
- cp Dockerfile /mydata/mowen-blog/back_project/app
- cp mes-admin/target/mowen-admin-prod-1.0.0.jar /mydata/mowen-blog/back_project/app
artifacts:
paths:
- build/
only:
- main #当有代码合到主干时触发这个job
tags:
- pioneer-mes-prod
image: moshangjunmowen/maven-jdk17:v3
deploy-dev:jdk17:
stage: deploy
image: docker:29.4.3 #目的是为了在docker环境下的runner能执行docker命令
script:
- echo "=============== 开始部署应用 ==============="
- docker ps -a|grep $MES_BACK_CONTAINER && docker stop $MES_BACK_CONTAINER && docker rm $MES_BACK_CONTAINER || echo "not exist"
- docker images |grep $MES_BACK_IMAGE && docker rmi -f $MES_BACK_IMAGE || echo "not exist"
- docker build --build-arg JAR_FILE=mowen-admin-dev-1.0.0.jar -t $MES_BACK_IMAGE /mydata/mowen-blog/back_project/app
- docker run -d --restart=always --network=host --log-opt max-size=50m --log-opt max-file=3 --name $MES_BACK_CONTAINER $MES_BACK_IMAGE
only:
- dev #当有代码合到主干时触发这个job
tags:
- dev
deploy-test:jdk17:
stage: deploy
image: docker:29.4.3 #目的是为了在docker环境下的runner能执行docker命令
script:
- echo "=============== 开始部署应用 ==============="
- docker ps -a|grep $MES_BACK_CONTAINER && docker stop $MES_BACK_CONTAINER && docker rm $MES_BACK_CONTAINER || echo "not exist"
- docker images |grep $MES_BACK_IMAGE && docker rmi -f $MES_BACK_IMAGE || echo "not exist"
- docker build --build-arg JAR_FILE=mowen-admin-test-1.0.0.jar -t $MES_BACK_IMAGE /mydata/mowen-blog/back_project/app
- docker run -d --restart=always --network=host --log-opt max-size=50m --log-opt max-file=3 --name $MES_BACK_CONTAINER $MES_BACK_IMAGE
only:
- test #当有代码合到主干时触发这个job
tags:
- mes-test
deploy-prod:jdk17:
stage: deploy
image: docker:29.4.3 #目的是为了在docker环境下的runner能执行docker命令
script:
#服务
- docker ps -a|grep $MES_BACK_CONTAINER && docker stop $MES_BACK_CONTAINER && docker rm $MES_BACK_CONTAINER || echo "not exist"
- docker images |grep $MES_BACK_IMAGE && docker rmi -f $MES_BACK_IMAGE || echo "not exist"
- docker build --build-arg JAR_FILE=mowen-admin-prod-1.0.0.jar -t $MES_BACK_IMAGE /mydata/mowen-blog/back_project/app
- docker run -d --restart=always --network=host --log-opt max-size=50m --log-opt max-file=5 --name $MES_BACK_CONTAINER $MES_BACK_IMAGE
only:
- main #当有代码合到主干时触发这个job
tags:
- pioneer-mes-prod