banner
Zach

Hi,Ztar

Have a good day!
github

自動工作流同步倉庫

最近看了innei大佬的文章,跨倉庫全自動構建項目並部署到伺服器對我很有啟發

我使用 vercel 構建 innei 大佬的 Shiro,自從有了閉源版本後,有很大痛點就是倉庫不能 fork,導致無法方便同步 commit,只能從本地 fetch 再 push,之前有考慮過使用 GitHub 的 action 自動化操作,但是當時試了試總是失敗

後來也是自己手動同步,但是我看了文章之後問了一下 GPT,才明白怎麼一回事

流程#

  1. 檢查源碼倉庫是否有變更
  2. 定時進行
  3. 如有變更,進行自動 rebase 和 push 操作

image

參考配置(GPT 所寫)#

name: Sync with upstream repo

on:
  schedule:
    - cron: '0 */6 * * *' # 6小時
  workflow_dispatch:

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repo
        uses: actions/checkout@v2
        with:
          repository: 'Sync-Repo'
          token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
          fetch-depth: 0

      - name: Sync with upstream
        run: |
          git config user.name 'Username'
          git config user.email 'Useremail'
          git remote add upstream 'https://github.com/username/source-repo'
          git fetch upstream
          git checkout main
          git rebase upstream/main
          git push origin main -f

注意要在本倉庫添加一個名為PERSONAL_ACCESS_TOKEN的 Secrets

訪問權限 Token#

如何獲取具有私有倉庫訪問權限的令牌呢?

首先要去 Setting ->> Developer setting ->> Personal access tokens (classic) ->> Generate new token (classic)

image

repo一定要選上,workflow 我不確定

之後去到你要同步的倉庫裡面

image

添加即可

此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://www.ssstttar.com/posts/programming/auto-sync-repo


載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。