自动工作流同步仓库

15 天前(已编辑)
12
2
AI 生成的摘要

自动工作流同步仓库

最近看了innei大佬的文章,跨仓库全自动构建项目并部署到服务器对我很有启发

我使用vercel构建innei大佬的Shiro,自从有了闭源版本后,有很大痛点就是仓库不能fork,导致无法方便同步commit,只能从本地fetch再push,之前有考虑过使用 GitHub的action自动化操作,但是当时试了试总是失败

后来也是自己手动同步,但是我看了文章之后问了一下GPT,才明白怎么一回事

流程

  1. 检查源码仓库是否有变更
  2. 定时进行
  3. 如有变更,进行自动rebase和push操作

参考配置(GPT所写)

name: Sync with upstream repo

on:
  schedule:
    - cron: '0 */6 * * *' # 6 hous
  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)

repo一定要选上,workflow我不确定

之后去到你要同步的仓库里面

添加即可

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...