234 lines
7.8 KiB
YAML
234 lines
7.8 KiB
YAML
#
|
||
# 同步代码
|
||
#
|
||
|
||
sync-gitee:
|
||
stage: sync
|
||
variables:
|
||
GIT_DEPTH: 0 # 取消浅层克隆
|
||
image: bitnami/git:2.40.1
|
||
script:
|
||
- git config --global user.email $GITLAB_USER_EMAIL
|
||
- git config --global user.name $GITLAB_USER_NAME
|
||
- git config --global user.email
|
||
- git config --global user.name
|
||
- git remote add gitee https://xuxiaowei-com-cn:$GITEE_PRIVATE_TOKEN@gitee.com/$CI_PROJECT_PATH.git
|
||
- echo 当前分支:$CI_COMMIT_BRANCH
|
||
- echo 当前标签:$CI_COMMIT_TAG
|
||
- if [ "$CI_COMMIT_BRANCH" ]; then
|
||
git checkout -b $CI_COMMIT_BRANCH;
|
||
git pull --progress -v --no-rebase gitee $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支;
|
||
git push -u gitee $CI_COMMIT_BRANCH;
|
||
fi
|
||
- if [ "$CI_COMMIT_TAG" ]; then
|
||
git push -u gitee $CI_COMMIT_TAG;
|
||
fi
|
||
rules:
|
||
# GitCode 实例不执行
|
||
- if: $CI_SERVER_HOST == 'gitcode.net'
|
||
# 不执行
|
||
when: never
|
||
# 匹配以 dependabot 开头的分支
|
||
- if: $CI_COMMIT_BRANCH =~ /^dependabot*/
|
||
# 不执行
|
||
when: never
|
||
# 非 PR 时触发
|
||
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null
|
||
retry: 2
|
||
# 允许失败
|
||
allow_failure: true
|
||
|
||
sync-gitcode:
|
||
stage: sync
|
||
variables:
|
||
GIT_DEPTH: 0 # 取消浅层克隆
|
||
image: bitnami/git:2.40.1
|
||
script:
|
||
- git config --global user.email $GITLAB_USER_EMAIL
|
||
- git config --global user.name $GITLAB_USER_NAME
|
||
- git config --global user.email
|
||
- git config --global user.name
|
||
- git remote add gitcode https://qq_32596527:$GITCODE_PRIVATE_TOKEN@gitcode.net/$CI_PROJECT_PATH.git
|
||
- echo 当前分支:$CI_COMMIT_BRANCH
|
||
- echo 当前标签:$CI_COMMIT_TAG
|
||
- if [ "$CI_COMMIT_BRANCH" ]; then
|
||
git checkout -b $CI_COMMIT_BRANCH;
|
||
git pull --progress -v --no-rebase gitcode $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支;
|
||
git push -u gitcode $CI_COMMIT_BRANCH;
|
||
fi
|
||
- if [ "$CI_COMMIT_TAG" ]; then
|
||
git push -u gitcode $CI_COMMIT_TAG;
|
||
fi
|
||
rules:
|
||
# GitCode 实例不执行
|
||
- if: $CI_SERVER_HOST == 'gitcode.net'
|
||
# 不执行
|
||
when: never
|
||
# 匹配以 dependabot 开头的分支
|
||
- if: $CI_COMMIT_BRANCH =~ /^dependabot*/
|
||
# 不执行
|
||
when: never
|
||
# 非 PR 时触发
|
||
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null
|
||
retry: 2
|
||
# 允许失败
|
||
allow_failure: true
|
||
|
||
sync-gitlink:
|
||
stage: sync
|
||
variables:
|
||
GIT_DEPTH: 0 # 取消浅层克隆
|
||
image: bitnami/git:2.40.1
|
||
script:
|
||
- mkdir -p ~/.ssh
|
||
# 为了让GitLab隐藏变量 GITLINK_ID_RSA,所以添加 GITLINK_ID_RSA 时,去掉了开头、结尾与换行
|
||
# 在此处添加开头与结尾(ssh 添加时必须包含)
|
||
- echo "-----BEGIN OPENSSH PRIVATE KEY-----" >> ~/.ssh/gitlink_id_rsa
|
||
- echo "$GITLINK_ID_RSA" >> ~/.ssh/gitlink_id_rsa
|
||
- echo "-----END OPENSSH PRIVATE KEY-----" >> ~/.ssh/gitlink_id_rsa
|
||
- chmod 600 ~/.ssh/gitlink_id_rsa
|
||
- eval $(ssh-agent -s)
|
||
- ssh-add ~/.ssh/gitlink_id_rsa
|
||
- git config --global user.email $GITLAB_USER_EMAIL
|
||
- git config --global user.name $GITLAB_USER_NAME
|
||
- git config --global user.email
|
||
- git config --global user.name
|
||
- git remote add gitlink git@code.gitlink.org.cn:$CI_PROJECT_PATH.git
|
||
- echo 当前分支:$CI_COMMIT_BRANCH
|
||
- echo 当前标签:$CI_COMMIT_TAG
|
||
- ssh-keyscan -H code.gitlink.org.cn >> ~/.ssh/known_hosts
|
||
- if [ "$CI_COMMIT_BRANCH" ]; then
|
||
git checkout -b $CI_COMMIT_BRANCH;
|
||
git pull --progress -v --no-rebase gitlink $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支;
|
||
git push -u gitlink $CI_COMMIT_BRANCH;
|
||
fi
|
||
- if [ "$CI_COMMIT_TAG" ]; then
|
||
git push -u gitlink $CI_COMMIT_TAG;
|
||
fi
|
||
rules:
|
||
# GitCode 实例不执行
|
||
- if: $CI_SERVER_HOST == 'gitcode.net'
|
||
# 不执行
|
||
when: never
|
||
# 匹配以 dependabot 开头的分支
|
||
- if: $CI_COMMIT_BRANCH =~ /^dependabot*/
|
||
# 不执行
|
||
when: never
|
||
# 非 PR 时触发
|
||
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null
|
||
retry: 2
|
||
# 允许失败
|
||
allow_failure: true
|
||
|
||
sync-gitlab:
|
||
stage: sync
|
||
variables:
|
||
GIT_DEPTH: 0 # 取消浅层克隆
|
||
image: bitnami/git:2.40.1
|
||
script:
|
||
- git config --global user.email $GITLAB_USER_EMAIL
|
||
- git config --global user.name $GITLAB_USER_NAME
|
||
- git config --global user.email
|
||
- git config --global user.name
|
||
- git remote add gitlab https://xuxiaowei-com-cn:$GITLAB_PRIVATE_TOKEN@gitlab.com/$CI_PROJECT_PATH.git
|
||
- echo 当前分支:$CI_COMMIT_BRANCH
|
||
- echo 当前标签:$CI_COMMIT_TAG
|
||
- if [ "$CI_COMMIT_BRANCH" ]; then
|
||
git checkout -b $CI_COMMIT_BRANCH;
|
||
git pull --progress -v --no-rebase gitlab $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支;
|
||
git push -u gitlab $CI_COMMIT_BRANCH;
|
||
fi
|
||
- if [ "$CI_COMMIT_TAG" ]; then
|
||
git push -u gitlab $CI_COMMIT_TAG;
|
||
fi
|
||
rules:
|
||
# GitCode 实例不执行
|
||
- if: $CI_SERVER_HOST == 'gitcode.net'
|
||
# 不执行
|
||
when: never
|
||
# 匹配以 dependabot 开头的分支
|
||
- if: $CI_COMMIT_BRANCH =~ /^dependabot*/
|
||
# 不执行
|
||
when: never
|
||
# 非 PR 时触发
|
||
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null
|
||
retry: 2
|
||
# 允许失败
|
||
allow_failure: true
|
||
|
||
sync-github:
|
||
stage: sync
|
||
variables:
|
||
GIT_DEPTH: 0 # 取消浅层克隆
|
||
image: bitnami/git:2.40.1
|
||
script:
|
||
- git config --global user.email $GITLAB_USER_EMAIL
|
||
- git config --global user.name $GITLAB_USER_NAME
|
||
- git config --global user.email
|
||
- git config --global user.name
|
||
- git remote add github https://xuxiaowei-com-cn:$GITHUB_PRIVATE_TOKEN@github.com/$CI_PROJECT_PATH.git
|
||
- echo 当前分支:$CI_COMMIT_BRANCH
|
||
- echo 当前标签:$CI_COMMIT_TAG
|
||
- if [ "$CI_COMMIT_BRANCH" ]; then
|
||
git checkout -b $CI_COMMIT_BRANCH;
|
||
git pull --progress -v --no-rebase github $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支;
|
||
git push -u github $CI_COMMIT_BRANCH;
|
||
fi
|
||
- if [ "$CI_COMMIT_TAG" ]; then
|
||
git push -u github $CI_COMMIT_TAG;
|
||
fi
|
||
rules:
|
||
# GitCode 实例不执行
|
||
- if: $CI_SERVER_HOST == 'gitcode.net'
|
||
# 不执行
|
||
when: never
|
||
# 匹配以 dependabot 开头的分支
|
||
- if: $CI_COMMIT_BRANCH =~ /^dependabot*/
|
||
# 不执行
|
||
when: never
|
||
# 非 PR 时触发
|
||
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null
|
||
retry: 2
|
||
# 允许失败
|
||
allow_failure: true
|
||
|
||
sync-framagit:
|
||
stage: sync
|
||
variables:
|
||
GIT_DEPTH: 0 # 取消浅层克隆
|
||
image: bitnami/git:2.40.1
|
||
script:
|
||
- git config --global user.email $GITLAB_USER_EMAIL
|
||
- git config --global user.name $GITLAB_USER_NAME
|
||
- git config --global user.email
|
||
- git config --global user.name
|
||
- git remote add framagit https://xuxiaowei:$FRAMAGIT_PRIVATE_TOKEN@framagit.org/$CI_PROJECT_PATH.git
|
||
- echo 当前分支:$CI_COMMIT_BRANCH
|
||
- echo 当前标签:$CI_COMMIT_TAG
|
||
- if [ "$CI_COMMIT_BRANCH" ]; then
|
||
git checkout -b $CI_COMMIT_BRANCH;
|
||
git pull --progress -v --no-rebase framagit $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支;
|
||
git push -u framagit $CI_COMMIT_BRANCH;
|
||
fi
|
||
- if [ "$CI_COMMIT_TAG" ]; then
|
||
git push -u framagit $CI_COMMIT_TAG;
|
||
fi
|
||
rules:
|
||
# GitCode 实例不执行
|
||
- if: $CI_SERVER_HOST == 'gitcode.net'
|
||
# 不执行
|
||
when: never
|
||
# framagit.org 不同步到自己
|
||
- if: $CI_SERVER_HOST == 'framagit.org'
|
||
# 不执行
|
||
when: never
|
||
# 匹配以 dependabot 开头的分支
|
||
- if: $CI_SERVER_HOST == 'gitlab.helm.xuxiaowei.cn' && $CI_COMMIT_BRANCH =~ /^dependabot*/
|
||
# 不执行
|
||
when: never
|
||
# 非 PR 时触发
|
||
- if: $CI_SERVER_HOST == 'gitlab.helm.xuxiaowei.cn' && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null
|
||
retry: 2
|
||
# 允许失败
|
||
allow_failure: true
|