From 16c4f270e5fc8c5a144370955ae686f519a8b768 Mon Sep 17 00:00:00 2001 From: skeleton Date: Wed, 16 Oct 2024 01:57:11 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0.gitlab-ci.yml=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 810bc90..aef6f4d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,9 @@ stages: + - lock - build - save - sync + - unlock variables: ProjectPath: "mongo.games.com/game" @@ -10,12 +12,24 @@ default: tags: - gitlab +# 锁定作业,防止并发流水线执行 +lock_job: + stage: lock + script: + - | + if [ -f /tmp/ci_lock ]; then + echo "流水线已在运行,等待..." + exit 1 + else + touch /tmp/ci_lock + echo "获得锁定,开始流水线。" + fi + build-job: stage: build only: - develop - release - resource_group: $RESOURCE_GROUP script: - git checkout $CI_COMMIT_REF_NAME # 拷贝到GOPATH @@ -40,7 +54,6 @@ save-job: only: - develop - release - resource_group: $RESOURCE_GROUP script: - cd $GOPATH/src/$ProjectPath # 拷贝文件 @@ -71,7 +84,6 @@ sync_job: only: - develop - release - resource_group: $RESOURCE_GROUP script: - cd $GOPATH/src/$ProjectPath - if [ "$CI_COMMIT_BRANCH" == "develop" ]; then @@ -97,4 +109,11 @@ sync_job: # 使用 rsync 将文件同步到远程服务器 - echo "同步到服务器" - echo "Deploying to remote server using rsync..." - - rsync -avz --delete ./temp/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_DEPLOY_PATH \ No newline at end of file + - rsync -avz --delete ./temp/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_DEPLOY_PATH + +# 解锁作业,释放锁定 +unlock_job: + stage: unlock + script: + - rm -f /tmp/ci_lock + - echo "释放锁定,流水线结束。" \ No newline at end of file