.gitlab-ci.yml 5.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
stages:
  - sync

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
    - echo 当前分支:$CI_COMMIT_BRANCH
    - git checkout -b $CI_COMMIT_BRANCH
    - git remote add gitee https://xuxiaowei-com-cn:$GITEE_PRIVATE_TOKEN@gitee.com/$CI_PROJECT_PATH.git
    - git pull --progress -v --no-rebase gitee $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支
    - git push -u gitee $CI_COMMIT_BRANCH
  rules:
    # 匹配以 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
    - echo 当前分支:$CI_COMMIT_BRANCH
    - git checkout -b $CI_COMMIT_BRANCH
    - git remote add gitcode https://qq_32596527:$GITCODE_PRIVATE_TOKEN@gitcode.net/$CI_PROJECT_PATH.git
    - git pull --progress -v --no-rebase gitcode $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支
    - git push -u gitcode $CI_COMMIT_BRANCH
  rules:
    # 匹配以 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
    - echo 当前分支:$CI_COMMIT_BRANCH
    - git checkout -b $CI_COMMIT_BRANCH
    - ssh-keyscan -H code.gitlink.org.cn >> ~/.ssh/known_hosts
    - git remote add gitlink git@code.gitlink.org.cn:$CI_PROJECT_PATH.git
    - git pull --progress -v --no-rebase gitlink $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支
    - git push -u gitlink $CI_COMMIT_BRANCH
  rules:
    # 匹配以 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
    - echo 当前分支:$CI_COMMIT_BRANCH
    - git checkout -b $CI_COMMIT_BRANCH
    - git remote add gitlab https://xuxiaowei-com-cn:$GITLAB_PRIVATE_TOKEN@gitlab.com/$CI_PROJECT_PATH.git
    - git pull --progress -v --no-rebase gitlab $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支
    - git push -u gitlab $CI_COMMIT_BRANCH
  rules:
    # 匹配以 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
    - echo 当前分支:$CI_COMMIT_BRANCH
    - git checkout -b $CI_COMMIT_BRANCH
    - git remote add github https://xuxiaowei-com-cn:$GITHUB_PRIVATE_TOKEN@github.com/$CI_PROJECT_PATH.git
    - git pull --progress -v --no-rebase github $CI_COMMIT_BRANCH || echo 远端不存在$CI_COMMIT_BRANCH分支
    - git push -u github $CI_COMMIT_BRANCH
  rules:
    # 匹配以 dependabot 开头的分支
    - if: $CI_COMMIT_BRANCH =~ /^dependabot*/
      # 不执行
      when: never
    # 非 PR 时触发
    - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == null
  retry: 2
  # 允许失败
  allow_failure: true