Commit 505f75cc by zhugs

去掉gitlab-cicd

parent 6e8b2527
stages:
- build
- package
- docker
- deploy
variables:
MAVEN_CLI_OPTS: "--batch-mode"
APP_NAME: demo-app
# 1. Build
build:
stage: build
image: maven:3.9.9-eclipse-temurin-17
script:
- mvn $MAVEN_CLI_OPTS clean compile
artifacts:
paths:
- target/*.jar
expire_in: 1 week
# 2. Docker Build & Push
docker-build:
stage: docker
image: docker:27
services:
- docker:27-dind
variables:
DOCKER_HOST: tcp://docker:2375
DOCKER_TLS_CERTDIR: ""
script:
# 登录 Registry
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" $CI_REGISTRY --password-stdin
# 构建镜像
- IMAGE_TAG="$CI_REGISTRY_IMAGE/$APP_NAME:$CI_COMMIT_SHORT_SHA"
- docker build -t $IMAGE_TAG .
# 推送镜像
- docker push $IMAGE_TAG
# 保存镜像标签用于部署
- echo $IMAGE_TAG > image_tag.txt
artifacts:
paths:
- image_tag.txt
# 3. 部署服务器拉镜像并运行
deploy:
stage: deploy
image: alpine:latest
before_script:
- apk add --no-cache openssh-client bash
script:
- IMAGE_TAG=$(cat image_tag.txt)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- ssh-keyscan -H $DEPLOY_HOST >> ~/.ssh/known_hosts
# 远程拉取镜像并启动
- ssh $DEPLOY_USER@$DEPLOY_HOST "
docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD &&
docker pull $IMAGE_TAG &&
docker stop $APP_NAME || true &&
docker rm $APP_NAME || true &&
docker run -d --name $APP_NAME -p 8080:8080 $IMAGE_TAG
"
......@@ -27,7 +27,7 @@
<url/>
</scm>
<properties>
<java.version>25</java.version>
<java.version>21</java.version>
</properties>
<dependencies>
<dependency>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论