【GIT】什么是GitHub Actions ?

发布于:2025-03-15 ⋅ 阅读:(25) ⋅ 点赞:(0)

1. GitHub Actions 基础

  • GitHub Actions 是 GitHub 提供的自动化工具,用于构建、测试和部署代码。
  • 使用场景:自动化代码构建、测试、部署、代码审查、分支管理等。
  • 成本:GitHub 提供免费和付费计划,免费计划每月有 2,000 分钟的运行时间。
  • 何时使用:当项目需要自动化 CI/CD 流程时,GitHub Actions 是一个很好的选择。
  • 翻译:GitHub Actions 是 GitHub 的自动化工具,用于代码构建、测试和部署。它适用于需要自动化流程的项目,且提供免费和付费计划。

2. GitHub Actions 入门

  • Starter Workflows:GitHub 提供了多种预定义的工作流模板,适用于代码、问题、拉取请求、安全等场景。
  • 示例工作流
    • 部署 Node.js 到 Azure Web App:构建 Node.js 项目并部署到 Azure。
    • 部署到 Amazon ECS:将容器部署到 Amazon ECS 服务。
  • 翻译:GitHub 提供了多种预定义的工作流模板,帮助用户快速开始自动化流程,例如部署 Node.js 到 Azure 或 Amazon ECS。

3. GitHub Actions 市场

  • 市场:GitHub Actions 市场提供了丰富的第三方 Actions,用于扩展工作流功能。
  • 常见 Actions
    • Setup Go environment:设置 Go 环境。
    • Setup Node.js environment:设置 Node.js 环境。
    • Upload a Build Artifact:上传构建产物。
  • 翻译:GitHub Actions 市场提供了许多第三方 Actions,用户可以根据需要选择并集成到工作流中。

4. GitHub Actions 定价计划

  • 免费计划:每月 2,000 分钟,500 MB 存储。
  • Pro 计划:每月 3,000 分钟,1 GB 存储。
  • 企业计划:每月 50,000 分钟,50 GB 存储。
  • 操作系统成本
    • Linux:每分钟 $0.008。
    • macOS:每分钟 $0.08。
    • Windows:每分钟 $0.016。
  • 翻译:GitHub Actions 提供多种定价计划,免费计划适合小型项目,企业计划适合大型团队。不同操作系统的运行成本不同。

5. GitHub Actions 组件

  • 事件(Event):触发工作流的事件,例如代码推送(push)或拉取请求(pull request)。
  • 工作流(Workflow):由多个任务(Jobs)组成,每个任务包含多个步骤(Steps)。
  • 运行器(Runner):执行工作流的机器,可以是 GitHub 托管的或自托管的。
  • 翻译:GitHub Actions 的核心组件包括事件、工作流、任务、步骤和运行器。

6. 触发工作流

  • 触发方式
    • 单一事件:例如代码推送(push)。
    • 多个事件:例如代码推送和拉取请求(push, pull_request)。
    • 定时任务:使用 cron 语法定时触发。
    • 手动触发:例如通过 workflow-dispatch 手动触发。
    • 从其他工作流调用:通过 workflowcall 触发。
  • 翻译:工作流可以通过多种方式触发,包括代码推送、拉取请求、定时任务或手动触发。

7. 工作流步骤

  • 步骤示例
    • 检出代码uses: actions/checkout@v3
    • 设置 Go 环境uses: actions/setup-go@v2
    • 运行命令run: go run helloworld.go
  • 翻译:工作流的每个步骤可以执行特定的操作,例如检出代码、设置环境或运行命令。

8. 工作流运行器和任务

  • 运行器:指定运行任务的机器,例如 runs-on: ubuntu-latest
  • 任务:每个任务可以包含多个步骤,例如构建、测试和部署。
  • 翻译:运行器是执行任务的机器,任务是由多个步骤组成的工作单元。

9. 完整工作流示例

  • 示例
    name: Simple Go Build
    on:
      push:
        branches:
          - main
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - name: Setup Go version
            uses: actions/setup-go@v2
            with:
              go-version: '1.15.1'
          - run: go run hello-world.go
    
  • 翻译:这是一个简单的 Go 项目构建工作流,当代码推送到 main 分支时,自动检出代码、设置 Go 环境并运行程序。

10. GitHub Actions 配置与安全

  • 配置:工作流文件(YAML)定义了自动化流程的步骤和触发条件。
  • 安全:GitHub Actions 支持加密的环境变量和权限控制,确保工作流的安全性。
  • 翻译:通过 YAML 文件配置工作流,GitHub Actions 还提供了安全功能,例如加密的环境变量。

初学者如何理解?

  1. GitHub Actions 是一个自动化工具,可以帮助你自动构建、测试和部署代码。
  2. 工作流是由多个步骤组成的自动化流程,可以通过代码推送、拉取请求等事件触发。
  3. 运行器是执行工作流的机器,可以是 GitHub 托管的或自托管的。
  4. 市场提供了许多第三方 Actions,可以扩展工作流的功能。
  5. 定价计划:GitHub 提供免费和付费计划,初学者可以从免费计划开始。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述