From d62961194b97df04b9c20ff3e2ebfd0948fdc0ee Mon Sep 17 00:00:00 2001 From: AlianBlank Date: Tue, 23 Jul 2024 18:01:36 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=A2=9E=E5=8A=A0]1.=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=95=9C=E5=83=8F=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/sync.yml | 288 +++++++++++++++++++++++++++++++++++++ 1 file changed, 288 insertions(+) create mode 100644 .github/workflows/sync.yml diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml new file mode 100644 index 0000000..fb1c812 --- /dev/null +++ b/.github/workflows/sync.yml @@ -0,0 +1,288 @@ +name: Sync Github To Image + +on: + push: + branches: [main] + #schedule: + # 定时任务,每天 UTC 时间 0 点运行 + #- cron: "0 0 * * *" + #workflow_dispatch: + +jobs: + sync-gitlink: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # 为了 git pull --unshallow,我们需要获取所有的提交历史 + + - name: Set up Git user + run: | + git config --global user.email "wangfj11@foxmail.com" + git config --global user.name "AlianBlank" + + - name: Set SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.GITLINK_ID_RSA }}" >> ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + eval $(ssh-agent -s) && ssh-add ~/.ssh/id_rsa + # 信任域名 + ssh-keyscan -H code.gitlink.org.cn >> ~/.ssh/known_hosts + + # 查看当前分支 + - name: Check current branch + run: echo 当前分支:${{ github.ref_name }} ${{ github.Repository }} + + # 查看远端 地址 + - name: echo git url + run: echo git@code.gitlink.org.cn:${{ github.Repository }}.git + + # 添加远端 + - name: add remote url + run: git remote add gitlink "git@code.gitlink.org.cn:${{ github.Repository }}.git" + + # 获取 + - name: fetch + run: git fetch --prune gitlink --tags --verbose + + # 拉取 + - name: pull and push + run: | + if [ "${{ github.ref_name }}" ]; then + git checkout ${{ github.ref_name }} + git pull --progress -v --no-rebase gitlink ${{ github.ref_name }} --tags --verbose || echo 远端不存在${{ github.ref_name }}分支; + git push -u gitlink ${{ github.ref_name }} --tags --verbose + fi + + sync-gitlab: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # 为了 git pull --unshallow,我们需要获取所有的提交历史 + + - name: Set up Git user + run: | + git config --global user.email "wangfj11@foxmail.com" + git config --global user.name "AlianBlank" + + - name: Set SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.GITLAB_ID_RSA }}" >> ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + eval $(ssh-agent -s) && ssh-add ~/.ssh/id_rsa + # 信任域名 + ssh-keyscan -H gitlab.com >> ~/.ssh/known_hosts + # 查看当前分支 + - name: Check current branch + run: echo 当前分支:${{ github.ref_name }} ${{ github.Repository }} + # 查看远端 地址 + - name: echo git url + run: echo git@gitlab.com:${{ github.Repository }}.git + + # 添加远端 + - name: add remote url + run: git remote add gitlab "git@gitlab.com:${{ github.Repository }}.git" + + # 获取 + - name: fetch + run: git fetch --prune gitlab --tags --verbose + + # 拉取 + - name: pull and push + run: | + if [ "${{ github.ref_name }}" ]; then + git checkout ${{ github.ref_name }} + git pull --progress -v --no-rebase gitlab ${{ github.ref_name }} --tags --verbose || echo 远端不存在${{ github.ref_name }}分支; + git push -u gitlab ${{ github.ref_name }} --tags --verbose + fi + + sync-gitee: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # 为了 git pull --unshallow,我们需要获取所有的提交历史 + + - name: Set up Git user + run: | + git config --global user.email "wangfj11@foxmail.com" + git config --global user.name "AlianBlank" + + - name: Set SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.GITEE_ID_RSA }}" >> ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + eval $(ssh-agent -s) && ssh-add ~/.ssh/id_rsa + # 信任域名 + ssh-keyscan -H gitee.com >> ~/.ssh/known_hosts + # 查看当前分支 + - name: Check current branch + run: echo 当前分支:${{ github.ref_name }} ${{ github.Repository }} + # 查看远端 地址 + - name: echo git url + run: echo git@gitee.com:${{ github.Repository }}.git + + # 添加远端 + - name: add remote url + run: git remote add gitee "git@gitee.com:${{ github.Repository }}.git" + + # 获取 + - name: fetch + run: git fetch --prune gitee --tags --verbose + + # 拉取 + - name: pull and push + run: | + if [ "${{ github.ref_name }}" ]; then + git checkout ${{ github.ref_name }} + git pull --progress -v --no-rebase gitee ${{ github.ref_name }} --tags --verbose || echo 远端不存在${{ github.ref_name }}分支; + git push -u gitee ${{ github.ref_name }} --tags --verbose + fi + + sync-atomgit: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # 为了 git pull --unshallow,我们需要获取所有的提交历史 + + - name: Set up Git user + run: | + git config --global user.email "wangfj11@foxmail.com" + git config --global user.name "AlianBlank" + + - name: Set SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.ATOMGIT_ID_RSA }}" >> ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + eval $(ssh-agent -s) && ssh-add ~/.ssh/id_rsa + # 信任域名 + ssh-keyscan -H atomgit.com >> ~/.ssh/known_hosts + # 查看当前分支 + - name: Check current branch + run: echo 当前分支:${{ github.ref_name }} ${{ github.Repository }} + # 查看远端 地址 + - name: echo git url + run: echo git@atomgit.com:${{ github.Repository }}.git + + # 添加远端 + - name: add remote url + run: git remote add atomgit "git@atomgit.com:${{ github.Repository }}.git" + + # 获取 + - name: fetch + run: git fetch --prune atomgit --tags --verbose + + # 拉取 + - name: pull and push + run: | + if [ "${{ github.ref_name }}" ]; then + git checkout ${{ github.ref_name }} + git pull --progress -v --no-rebase atomgit ${{ github.ref_name }} --tags --verbose || echo 远端不存在${{ github.ref_name }}分支; + git push -u atomgit ${{ github.ref_name }} --tags --verbose + fi + + sync-gitcode: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # 为了 git pull --unshallow,我们需要获取所有的提交历史 + + - name: Set up Git user + run: | + git config --global user.email "wangfj11@foxmail.com" + git config --global user.name "AlianBlank" + + - name: Set SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.GITCODE_ID_RSA }}" >> ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + eval $(ssh-agent -s) && ssh-add ~/.ssh/id_rsa + # 信任域名 + ssh-keyscan -H gitcode.net >> ~/.ssh/known_hosts + # 查看当前分支 + - name: Check current branch + run: echo 当前分支:${{ github.ref_name }} ${{ github.Repository }} + # 查看远端 地址 + - name: echo git url + run: echo git@gitcode.net:${{ github.Repository }}.git + + # 添加远端 + - name: add remote url + run: git remote add gitcode "git@gitcode.net:${{ github.Repository }}.git" + + # 获取 + - name: fetch + run: git fetch --prune gitcode --tags --verbose + + # 拉取 + - name: pull and push + run: | + if [ "${{ github.ref_name }}" ]; then + git checkout ${{ github.ref_name }} + git pull --progress -v --no-rebase gitcode ${{ github.ref_name }} --tags --verbose || echo 远端不存在${{ github.ref_name }}分支; + git push -u gitcode ${{ github.ref_name }} --tags --verbose + fi + + sync-framagit: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # 为了 git pull --unshallow,我们需要获取所有的提交历史 + + - name: Set up Git user + run: | + git config --global user.email "wangfj11@foxmail.com" + git config --global user.name "AlianBlank" + + - name: Set SSH + run: | + mkdir -p ~/.ssh + echo "${{ secrets.FRAMAGIT_ID_RSA }}" >> ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + eval $(ssh-agent -s) && ssh-add ~/.ssh/id_rsa + # 信任域名 + ssh-keyscan -H framagit.org >> ~/.ssh/known_hosts + # 查看当前分支 + - name: Check current branch + run: echo 当前分支:${{ github.ref_name }} ${{ github.Repository }} + # 查看远端 地址 + - name: echo git url + run: echo git@framagit.org:${{ github.Repository }}.git + + # 添加远端 + - name: add remote url + run: git remote add framagit "git@framagit.org:${{ github.Repository }}.git" + + # 获取 + - name: fetch + run: git fetch --prune framagit --tags --verbose + + # 拉取 + - name: pull and push + run: | + if [ "${{ github.ref_name }}" ]; then + git checkout ${{ github.ref_name }} + git pull --progress -v --no-rebase framagit ${{ github.ref_name }} --tags --verbose || echo 远端不存在${{ github.ref_name }}分支; + git push -u framagit ${{ github.ref_name }} --tags --verbose + fi