目录

GIT什么是GitHub-Actions-

【GIT】什么是GitHub Actions ?


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 提供免费和付费计划,初学者可以从免费计划开始。

https://i-blog.csdnimg.cn/direct/e217236ba9e045dc861afee35d076b53.png

https://i-blog.csdnimg.cn/direct/ab88ccfa1bc8402da6505cb409a4b276.png

https://i-blog.csdnimg.cn/direct/3625cdabb29a4e3bb9c0bc33f9804bbc.png

https://i-blog.csdnimg.cn/direct/a491301978b44ac6a46316554807f008.png

https://i-blog.csdnimg.cn/direct/d6a9995c13b5491790299326cee0bc7c.png

https://i-blog.csdnimg.cn/direct/411a207ad3644b06a7f1fb2e972989b1.png

https://i-blog.csdnimg.cn/direct/c88ad6607e52439f8156c44c6c3afcaf.png

https://i-blog.csdnimg.cn/direct/234032aa5ecf46549765a00942282486.png

https://i-blog.csdnimg.cn/direct/1984132727464674a17c426fa4d3b8fa.png