Github Actions

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

  1. 官方教程首先创建好一个github仓库
  2. 打开仓库点击Add file  >  Creat new file
  3. 创建 .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

  1. 准备您的 Action:

    • 确保您的 Action 代码已经在 GitHub 仓库中,并且功能完整、稳定。
    • 在仓库根目录创建一个 action.yml 文件,描述您的 Action。
  2. 编写文档:
    • 创建一个详细的 README.md 文件,包含 Action 的使用说明、输入输出参数、示例等。后续可以考虑添加徽章(如构建状态、版本信息等)到您的 README 中。
    • 考虑添加一个 CONTRIBUTING.md 文件,说明如何贡献代码。
  3. 版本控制:
    • 使用语义化版本(Semantic Versioning)为您的 Action 创建标签。
  4. 发布 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 的性能和功能。

GitHub Actions是GitHub的持续集成服务,它可以帮助开发者通过自动化的构建、发布和测试来验证代码,从而尽快发现集成错误。\[2\]GitHub Actions由多个操作组成,比如抓取代码、运行测试、登录远程服务器、发布到第三方服务等等,这些操作被称为actions。一个workflow是一次持续集成的运行过程,由一个或多个jobs构成,每个job又由多个steps构成,每个step可以执行一个或多个命令(action)。\[3\] GitHub Actions允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用该脚本,这个脚本就是一个Action。开发者可以从GitHub社区共享的官方市场查找需要的Action,也可以自己编写Action并开源供其他人使用。Action可以通过指定commit、标签或分支来引用不同的版本。\[1\] 在使用GitHub Actions之前,需要了解持续集成/持续交付的概念、Git相关知识、Linux/Windows/macOS脚本相关知识以及Yaml基础语法。Yaml是一种用于配置文件的简洁易读的数据序列化格式。\[2\] GitHub Actions提供了Linux、Windows和macOS虚拟机来运行工作流程,也可以在自己的数据中心或云基础架构中托管自己的自托管运行器。通过在代码仓库中的.github/workflows目录下创建.yml文件,可以配置自动触发的工作流程。\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [GitHubActions详解](https://blog.csdn.net/unreliable_narrator/article/details/124468384)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Github Actions](https://blog.csdn.net/SeriousLose/article/details/121476152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值