From 6647aa920bf38c7987c6e8ce38048fe9a087a79e Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Fri, 27 Dec 2024 10:31:48 +0800 Subject: [PATCH] modify gitlab-ci --- .gitlab-ci.yml | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2fb8ee8..faf0e9e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,10 +6,11 @@ stages: - unlock variables: - ProjectPath: "mongo.games.com/game" # 项目相对于GOPATH的路径 + GOPROXY: "https://goproxy.cn,direct" + GOPATH: "/home/gopath" + GoServerSrcPath: "mongo.games.com/goserver" # 项目相对于GOPATH/src的路径 BetaBinPath: "/home/game/" # beta环境部署路径 DevelopBinPath: "/home/game/" # develop环境部署路径 - GOPROXY: "https://goproxy.cn,direct" default: tags: @@ -26,12 +27,12 @@ lock_job: stage: lock script: - | - if [ -f /tmp/ci_lock ]; then - echo "流水线已在运行,等待..." + if [ -f /tmp/ci_lock_$CI_COMMIT_REF_NAME ]; then + echo "流水线($CI_COMMIT_REF_NAME)已在运行,等待..." exit 1 else - touch /tmp/ci_lock - echo "获得锁定,开始流水线。" + touch /tmp/ci_lock_$CI_COMMIT_REF_NAME + echo "获得锁定,开始流水线($CI_COMMIT_REF_NAME)。" fi build-job: @@ -42,14 +43,14 @@ build-job: script: - git checkout $CI_COMMIT_REF_NAME - git pull origin $CI_COMMIT_REF_NAME + + # 替换 go.mod 中的 ../goserver + - sed -i "s|mongo.games.com/goserver => .*|mongo.games.com/goserver => $GOPATH/src/$GoServerSrcPath|" go.mod + - if [ ! -z "$(git status --porcelain go.mod go.sum)" ]; then GOMODTIDY=1; fi - # 拷贝到GOPATH - - echo '拷贝到GOPATH' - - rsync -rvc --no-perms --delete ./* $GOPATH/src/$ProjectPath - # 进入项目目录 - - cd $GOPATH/src/$ProjectPath + # 编译 - echo '编译' - if [ "$GOMODTIDY" == 1 ]; then @@ -70,7 +71,6 @@ save-job: - develop - release script: - - cd $GOPATH/src/$ProjectPath # 拷贝文件 - echo '拷贝文件' - rm -rf ./temp @@ -100,7 +100,6 @@ sync_job: - develop - release script: - - cd $GOPATH/src/$ProjectPath - if [ "$CI_COMMIT_BRANCH" == "develop" ]; then SSH_PRIVATE_KEY="$SSH_PRIVATE_KEY_DEVELOP"; REMOTE_HOST="$REMOTE_HOST_DEVELOP"; @@ -137,6 +136,6 @@ sync_job: unlock_job: stage: unlock script: - - rm -f /tmp/ci_lock - - echo "释放锁定,流水线结束。" + - rm -f /tmp/ci_lock_$CI_COMMIT_REF_NAME + - echo "释放锁定,流水线结束(/$CI_COMMIT_REF_NAME)。" when: always \ No newline at end of file