GitHub Actions 简介
GitHub Actions 是一个持续集成和持续交付(CI/CD)平台,允许你自动化构建、测试和部署流水线。你可以创建工作流来构建和测试每个提交到代码库的拉取请求,或将合并的拉取请求部署到生产环境中。
CI/CD
CI(Continuous Integration)
- 持续集成 开发人员每天多次推送代码更改。对于每次推送到代码仓库,您可以创建一组脚本来自动构建和测试您的应用程序。这些脚本有助于减少在您的应用程序中引入错误的机会。
CD(Continuous Delivery(Develoyment))
- 持续交付(部署)是持续集成的更进一步。不仅在每次代码更改被推送到代码库时都会构建和测试您的应用程序,该应用程序还会被持续部署。
GitHub Actions Wolkflow
你可以配置一个 GitHub Actions 工作流,当代码库中的某个事件发生时触发,例如打开拉取请求或创建问题。你的工作流包含一个或多个可以顺序或并行运行的作业。每个作业将在其自己的虚拟机运行器内运行,或在容器内运行,并且有一个或多个步骤,这些步骤可以运行你定义的脚本或运行一个操作,这是一种可以简化工作流的可重用扩展。
- Wolkflow:当代码库中发生某个事件时触发。
- event:如打开拉取请求或创建问题。
- jobs:一个或多个可以顺序或并行运行的任务。
- runner:作业运行的虚拟机或容器。
- steps:作业中的单个操作,可以运行脚本或操作。
- action:简化工作流的可重用扩展。
创建 GitHub Actions
- 官方教程首先创建好一个github仓库
- 打开仓库点击Add file > Creat new file
- 创建 .github/workflows/main.yml 除了main可以更换,其他都是固定的。
- Markplace:别人写好的github action,可以copy在自己的 .yml 文件中
- Documention:官方文档的基本示例
将如下内容复制到main.yml中
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: [push]
jobs:
Explore-GitHub-Actions:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
点击 Commit changes
查看 Wolkflow 结果
下面的日志显示了如何处理每个步骤的细节信息,展开可以查看更多的细节
发布 GitHub Action 到 Markplace
通过一下步骤,您可以将自己的 GitHub Action 发布到 Marketplace,让更多的开发者发现和使用它。
发布 Release
-
准备您的 Action:
- 确保您的 Action 代码已经在 GitHub 仓库中,并且功能完整、稳定。
- 在仓库根目录创建一个
action.yml
文件,描述您的 Action。
- 编写文档:
- 创建一个详细的 README.md 文件,包含 Action 的使用说明、输入输出参数、示例等。后续可以考虑添加徽章(如构建状态、版本信息等)到您的 README 中。
- 考虑添加一个 CONTRIBUTING.md 文件,说明如何贡献代码。
- 版本控制:
- 使用语义化版本(Semantic Versioning)为您的 Action 创建标签。
- 发布 Release:
- 在 GitHub 仓库中创建一个新的 Release。
- 选择您刚才创建的版本标签。
- 填写 Release 说明。
以上内容也适用于发布一个GitHub项目。
提交到 Marketplace
- 进入您的 GitHub 仓库。
- 点击 "Settings" 标签。
- 在左侧菜单中选择 "Actions"。
- 点击 "Add a new release" 或 "Publish this Action to the GitHub Marketplace"。(确保您的 Action 符合 GitHub 的政策和最佳实践。)
- 填写所需的元数据,如 Action 名称、描述、作者等。
- 选择适当的类别和版本。
- 同意 GitHub Marketplace 开发者协议。
等待审核:
- GitHub 团队会审核您的提交。
- 如果有问题,他们会与您联系。
发布后维护:
- 及时回应用户的问题和反馈。
- 定期更新和改进您的 Action。持续监控和改进 Action 的性能和功能。