diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ab49ed0..44c8395 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ stages: - - get_version + - check - build - deploy @@ -13,6 +13,29 @@ variables: DockerImage: "${Ali_Docker_Registry}/${Namespace}/${PackageName}" + +check-merge-target: + stage: check + script: + - | + # 获取当前合并请求的目标分支 + TARGET_BRANCH="$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" + SOURCE_BRANCH="$CI_COMMIT_BRANCH" + + # 定义允许合并的规则 + if [[ "$SOURCE_BRANCH" == "develop" && "$TARGET_BRANCH" != "release" ]]; then + echo "❌ 禁止将 develop 分支合并到 $TARGET_BRANCH" + exit 1 + elif [[ "$SOURCE_BRANCH" == "release" && "$TARGET_BRANCH" != "master" ]]; then + echo "❌ 禁止将 release 分支合并到 $TARGET_BRANCH" + exit 1 + else + echo "✅ 允许合并" + fi + only: + - merge_requests + + build_develop: stage: build script: