GitHub Repo Sync 项目教程
1. 项目的目录结构及介绍
GitHub Repo Sync 项目是一个用于同步当前仓库与远程仓库的 GitHub Action。以下是项目的目录结构:
github-sync/
├── .github/
│ └── workflows/
│ └── repo-sync.yml
├── .gitignore
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
└── action.yml
目录结构介绍
- .github/workflows/repo-sync.yml: 定义了 GitHub Actions 的工作流程,用于定时或手动触发仓库同步。
- .gitignore: 指定不需要被版本控制的文件和目录。
- CODE_OF_CONDUCT.md: 行为准则文件。
- LICENSE: 项目许可证文件,采用 MIT 许可证。
- README.md: 项目说明文档,包含项目的基本信息和使用方法。
- action.yml: GitHub Action 的定义文件,包含 Action 的元数据和配置。
2. 项目的启动文件介绍
项目的启动文件是 .github/workflows/repo-sync.yml
,该文件定义了 GitHub Actions 的工作流程。以下是该文件的主要内容:
on:
schedule:
- cron: "*/15 * * * *"
workflow_dispatch:
jobs:
repo-sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: repo-sync
uses: repo-sync/github-sync@v2
with:
source_repo: ""
source_branch: ""
destination_branch: ""
github_token: ${{ secrets.PAT }}
启动文件介绍
- on: 定义触发工作流程的事件,包括定时任务和手动触发。
- schedule: 定时任务,每 15 分钟触发一次。
- workflow_dispatch: 允许手动触发工作流程。
- jobs: 定义工作流程中的任务。
- repo-sync: 任务名称。
- runs-on: 指定运行任务的虚拟环境,这里是
ubuntu-latest
。 - steps: 任务的具体步骤。
- actions/checkout@v4: 检出代码。
- repo-sync/github-sync@v2: 使用 GitHub Repo Sync Action 进行仓库同步。
- runs-on: 指定运行任务的虚拟环境,这里是
- repo-sync: 任务名称。
3. 项目的配置文件介绍
项目的配置文件是 action.yml
,该文件定义了 GitHub Action 的元数据和配置。以下是该文件的主要内容:
name: 'GitHub Repo Sync'
description: 'A GitHub Action for syncing current repository with remote'
author: 'repo-sync'
inputs:
source_repo:
description: 'The source repository to sync from'
required: true
source_branch:
description: 'The source branch to sync from'
required: true
destination_branch:
description: 'The destination branch to sync to'
required: true
github_token:
description: 'GitHub token with repo scope'
required: true
runs:
using: 'node12'
main: 'dist/index.js'
branding:
icon: 'refresh-cw'
color: 'blue'
配置文件介绍
- name: Action 的名称。
- description: Action 的描述。
- author: Action 的作者。
- inputs: 定义输入参数。
- source_repo: 源仓库地址。
- source_branch: 源分支名称。
- destination_branch: 目标分支名称。
- github_token: GitHub 访问令牌。
- runs: 定义 Action 的运行方式。
- using: 使用的运行环境,这里是
node12
。 - main: 主执行文件的路径。
- using: 使用的运行环境,这里是
- branding: Action 的品牌信息。
- icon: 图标。
- color: 颜色。
通过以上介绍,您可以了解 GitHub Repo Sync 项目的目录结构、启动文件和配置文件的基本信息,从而更好地使用和配置该项目。