自动更新GitHub README中的贡献者列表
大家好,我是曾续缘。在开源项目中,展示贡献者列表不仅是对贡献者工作的认可,也有助于建立社区信任。本教程分享如何使用contributors-readme-action
来自动化这一过程。
GitHub Actions 简介
GitHub Actions是一个CI/CD平台,允许用户自动化构建、测试和部署项目。它与GitHub仓库紧密集成,使得自动化流程的设置和使用变得非常便捷。
GitHub Actions的核心概念
- Workflow(工作流程):是自动化过程的蓝图,由一个或多个Jobs组成,定义了Action的运行方式。
- Job(任务):是Workflow中的一个步骤,可以运行在一个运行器(Runner)上。一个Workflow可以包含多个Job,它们可以并行或串行执行。
- Step(步骤):是Job中的单个执行单元。每个Step可以运行一个Action或一个命令。
- Action(动作):是GitHub Actions中的基本执行单元,可以是一个独立的脚本或多个命令的组合。
- Runner(运行器):是执行Job的机器。GitHub提供运行器,也可以自托管。
GitHub Actions的触发器
- Events(事件):GitHub Actions可以通过多种GitHub事件触发,如
push
、pull_request
、issue
等。 - Schedule(计划):可以设置定时任务,比如每天或每周运行。
使用GitHub Actions的步骤
- 创建Workflow文件:在仓库的
.github/workflows/
目录下创建YAML文件。 - 定义Workflow:在YAML文件中定义Workflow的名称、触发器和任务。
- 配置任务:为每个任务定义运行环境、步骤和所需的Action。
- 使用Action:可以使用社区提供的Action,也可以自定义Action。
- 测试和调试:通过push提交来触发Workflow,检查日志进行调试。
安全和权限
- GitHub Token:用于授权Action访问GitHub API。
- Secrets:用于存储敏感信息,如API密钥或密码。
- 权限控制:可以设置Action对仓库的权限。
环境准备
- 有GitHub账号并熟悉基本的GitHub操作。
- 了解GitHub Actions的基本概念。
设置GitHub Action
在GitHub仓库中,创建.github/workflows/main.yml
文件,添加以下内容,可以不用修改:
查看代码
yaml
on:
push:
branches:
- main
jobs:
contrib-readme-job:
runs-on: ubuntu-latest
name: A job to automate contrib in readme
permissions:
contents: write
pull-requests: write
steps:
- name: Contribute List
uses: akhilmhdh/contributors-readme-action@v2.3.10
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
配置说明
on.push.branches
:指定这个Action在哪个分支上被触发,这里是在main
分支。runs-on
:选择运行Action的操作系统,这里使用的是最新版的Ubuntu。permissions
:设置Action所需的权限,包括对仓库内容的写权限和对Pull Requests的写权限。env.GITHUB_TOKEN
:提供访问GitHub API的令牌,这是Action正常工作的必要条件。
在README中添加贡献者标记
在README文件中,添加以下标记来指定贡献者列表的位置:
markdown
## 贡献者
<!-- readme: collaborators,contributors -start -->
<!-- readme: collaborators,contributors -end -->
测试和验证
- 提交更改以触发Action。
- 检查Action是否成功运行。可以通过GitHub仓库的Actions页面查看日志。
- 查看更新后的README文件。