3 GitHub Actions 自动化示例用例

在上篇文章中,我们讨论了 GitHub Actions 的优势,如减少手动操作,提高持续集成与持续部署(CI/CD)的效率等。本篇文章将通过具体的示例来展示 GitHub Actions 的不同用例,以帮助您更好地理解和利用这一强大的工具。接下来,我们将探索几种常见的自动化场景,并通过代码示例具体说明如何实现这些场景。

用例一:自动化测试

GitHub Actions 的一个典型用例是自动化测试。每当代码推送到主分支或创建 pull request 时,我们都可以触发测试,从而确保代码的质量。

示例代码:

以下是一个基础的工作流配置文件,功能是在每次代码推送时运行测试。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
name: CI

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
test:
runs-on: ubuntu-latest

steps:
- name: 检出代码
uses: actions/checkout@v2

- name: 设置 Node.js 环境
uses: actions/setup-node@v2
with:
node-version: '14'

- name: 安装依赖
run: npm install

- name: 运行测试
run: npm test

这个示例定义了一个名为 CI 的工作流。当代码推送或创建 pull request 至 main 分支时,它将自动运行并进行以下步骤:

  1. 使用 actions/checkout 检出代码。
  2. 使用 actions/setup-node 设置 Node.js 环境。
  3. 通过 npm install 安装项目依赖。
  4. 运行 npm test 进行测试。

用例二:自动部署

另一个非常常见的用例是自动化部署。通过 GitHub Actions,我们可以在代码合并到主分支后,自动将应用程序部署到服务器或云服务上。

示例代码:

下面是一个自动部署到 AWS S3 的工作流示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
name: Deploy to S3

on:
push:
branches:
- main

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- name: 检出代码
uses: actions/checkout@v2

- name: 设置 AWS CLI
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: 部署到 S3
run: |
aws s3 sync ./dist s3://your-bucket-name

在这个示例中,当代码推送到 main 分支时,它会:

  1. 同样先使用 actions/checkout 检出代码。
  2. 使用 aws-actions/configure-aws-credentials 设置 AWS CLI 的凭据。
  3. 通过 aws s3 sync 命令将构建后的文件从 ./dist 目录同步到指定的 S3 存储桶中。

记得将 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 添加到您的 GitHub 仓库的 Secrets 中,以确保安全性。

用例三:定时生成文档

我们也可以使用 GitHub Actions 定期生成项目文档。例如,可以设置一个工作流每周生成一次项目的文档,以便团队随时查看最新的更新。

示例代码:

以下是一个基于 GitHub Actions 每周生成文档的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
name: Generate Documentation

on:
schedule:
- cron: '0 0 * * 0' # 每周日 00:00 UTC

jobs:
build-docs:
runs-on: ubuntu-latest

steps:
- name: 检出代码
uses: actions/checkout@v2

- name: 安装依赖
run: npm install

- name: 生成文档
run: npm run docs

在这个示例中,我们设置了一个 cron 计划,使得每周日的零点(UTC)触发文档的生成。工作流的步骤与前面的示例类似,主要是更新内容并通过命令生成最新文档。

结语

通过以上的示例,我们展示了 GitHub Actions 的几种常见用例,包括自动化测试、自动部署和文档生成。这些用例不仅提高了开发效率,还确保了代码质量和项目的持续更新。在下一篇文章中,我们将介绍如何创建第一个工作流,帮助您更深入地了解 GitHub Actions 的使用。希望这些示例能给您带来启发,利用 GitHub Actions 来提升您的工作效率!

3 GitHub Actions 自动化示例用例

https://zglg.work/github-actions-zero/3/

作者

AI免费学习网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论