update ci
This commit is contained in:
parent
caee9f1aff
commit
1d0ce09952
|
@ -1,15 +1,14 @@
|
||||||
stages:
|
stages:
|
||||||
- lock
|
- lock
|
||||||
- build
|
- build
|
||||||
- save
|
|
||||||
- sync
|
|
||||||
- unlock
|
- unlock
|
||||||
|
|
||||||
variables:
|
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环境部署路径
|
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:
|
||||||
|
@ -40,16 +39,17 @@ build-job:
|
||||||
- develop
|
- develop
|
||||||
- release
|
- release
|
||||||
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
|
||||||
|
@ -64,19 +64,13 @@ build-job:
|
||||||
cd ..
|
cd ..
|
||||||
done < ./programs.txt
|
done < ./programs.txt
|
||||||
|
|
||||||
save-job:
|
|
||||||
stage: save
|
|
||||||
only:
|
|
||||||
- develop
|
|
||||||
- release
|
|
||||||
script:
|
|
||||||
- cd $GOPATH/src/$ProjectPath
|
|
||||||
# 拷贝文件
|
# 拷贝文件
|
||||||
- echo '拷贝文件'
|
- echo '拷贝文件'
|
||||||
- rm -rf ./temp
|
- rm -rf ./temp
|
||||||
- mkdir ./temp
|
- mkdir ./temp
|
||||||
- mkdir ./temp/data
|
- mkdir ./temp/data
|
||||||
- cp -rfp ./data/* ./temp/data
|
- cp -rfp ./data/* ./temp/data
|
||||||
|
|
||||||
# 删除自定义配置
|
# 删除自定义配置
|
||||||
- echo '删除自定义配置'
|
- echo '删除自定义配置'
|
||||||
- |
|
- |
|
||||||
|
@ -85,6 +79,7 @@ save-job:
|
||||||
echo "删除 $line 配置"
|
echo "删除 $line 配置"
|
||||||
rm ./temp/data/$line
|
rm ./temp/data/$line
|
||||||
done < ./exclude.txt
|
done < ./exclude.txt
|
||||||
|
|
||||||
# 拷贝可执行程序
|
# 拷贝可执行程序
|
||||||
- echo '拷贝可执行程序'
|
- echo '拷贝可执行程序'
|
||||||
- |
|
- |
|
||||||
|
@ -94,13 +89,7 @@ save-job:
|
||||||
mv ./$line/$line ./temp/$line
|
mv ./$line/$line ./temp/$line
|
||||||
done < ./programs.txt
|
done < ./programs.txt
|
||||||
|
|
||||||
sync_job:
|
# 获取部署环境信息
|
||||||
stage: sync
|
|
||||||
only:
|
|
||||||
- develop
|
|
||||||
- release
|
|
||||||
script:
|
|
||||||
- cd $GOPATH/src/$ProjectPath
|
|
||||||
- if [ "$CI_COMMIT_BRANCH" == "develop" ]; then
|
- if [ "$CI_COMMIT_BRANCH" == "develop" ]; then
|
||||||
SSH_PRIVATE_KEY="$SSH_PRIVATE_KEY_DEVELOP";
|
SSH_PRIVATE_KEY="$SSH_PRIVATE_KEY_DEVELOP";
|
||||||
REMOTE_HOST="$REMOTE_HOST_DEVELOP";
|
REMOTE_HOST="$REMOTE_HOST_DEVELOP";
|
||||||
|
@ -137,6 +126,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
|
Loading…
Reference in New Issue