更新.gitlab-ci.yml文件

This commit is contained in:
skeleton 2024-12-27 02:14:57 +00:00
parent 531df8e564
commit b3a166c022
1 changed files with 13 additions and 16 deletions

View File

@ -2,14 +2,13 @@ stages:
- lock - lock
- build - build
- save - save
- sync
- unlock - unlock
variables: variables:
ProjectPath: "mongo.games.com/game" # 项目相对于GOPATH的路径 GOPATH: "/home/gopath"
GoServerSrcPath: "mongo.games.com/goserver" # 项目相对于GOPATH/src的路径
BetaBinPath: "/home/game/" # beta环境部署路径 BetaBinPath: "/home/game/" # beta环境部署路径
DevelopBinPath: "/home/game/" # develop环境部署路径 DevelopBinPath: "/home/game/" # develop环境部署路径
GOPROXY: "https://goproxy.cn,direct"
default: default:
tags: tags:
@ -26,12 +25,12 @@ lock_job:
stage: lock stage: lock
script: script:
- | - |
if [ -f /tmp/ci_lock ]; then if [ -f /tmp/ci_lock/$CI_COMMIT_REF_NAME ]; then
echo "流水线已在运行,等待..." echo "流水线($CI_COMMIT_REF_NAME)已在运行,等待..."
exit 1 exit 1
else else
touch /tmp/ci_lock touch /tmp/ci_lock/$CI_COMMIT_REF_NAME
echo "获得锁定,开始流水线。" echo "获得锁定,开始流水线($CI_COMMIT_REF_NAME)。"
fi fi
build-job: build-job:
@ -42,19 +41,18 @@ build-job:
script: script:
- git checkout $CI_COMMIT_REF_NAME - git checkout $CI_COMMIT_REF_NAME
- git pull origin $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 - if [ ! -z "$(git status --porcelain go.mod go.sum)" ]; then
GOMODTIDY=1; GOMODTIDY=1;
fi fi
# 拷贝到GOPATH
- echo '拷贝到GOPATH'
- rsync -rvc --no-perms --delete ./* $GOPATH/src/$ProjectPath
# 进入项目目录
- cd $GOPATH/src/$ProjectPath
# 编译 # 编译
- echo '编译' - echo '编译'
- if [ "$GOMODTIDY" == 1 ]; then - if [ "$GOMODTIDY" == 1 ]; then
go mod tidy; go mod tidy;
go mod download;
fi fi
- | - |
while IFS= read -r line || [[ -n $line ]] while IFS= read -r line || [[ -n $line ]]
@ -71,7 +69,6 @@ save-job:
- develop - develop
- release - release
script: script:
- cd $GOPATH/src/$ProjectPath
# 拷贝文件 # 拷贝文件
- echo '拷贝文件' - echo '拷贝文件'
- rm -rf ./temp - rm -rf ./temp
@ -138,6 +135,6 @@ sync_job:
unlock_job: unlock_job:
stage: unlock stage: unlock
script: script:
- rm -f /tmp/ci_lock - rm -f /tmp/ci_lock/$CI_COMMIT_REF_NAME
- echo "释放锁定,流水线结束。" - echo "释放锁定,流水线结束(/$CI_COMMIT_REF_NAME)。"
when: always when: always