GitHub Actions

本文介绍了GitHub Actions的基本概念,如事件驱动的工作流程、job和step结构,以及如何通过YAML定义工作流。还展示了如何创建一个简单的示例工作流,包括使用actions/checkout和actions/setup-node进行代码拉取和环境配置。此外,文章提到了常用action和创建GitHub Actions workflow的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方文档:
https://github.com/features/actions
https://docs.github.com/en/actions

基本概念

GitHub Actions用于自动化软件开发中的任务
GitHub Actions是事件驱动的,即当指定的事件发生时(例如push, pull request等)运行一系列命令(例如构建、测试、部署等)
workflow
事件自动触发workflow,一个workflow包含一个或多个并行执行的job,一个job包含多个顺序执行的step,每个step执行一个action,action即具体执行的命令

runner是一个安装了GitHub Actions runner的虚拟机,基于Ubuntu Linux, Windows或macOS,默认使用GitHub服务器的runner。每次执行一个job时,GitHub服务器都将创建一个新的虚拟环境。

创建workflow

GitHub Actions使用YAML语法来定义job和step,这些YAML文件保存在仓库根目录下的.github/workflows目录中

下面的步骤创建了一个示例workflow,每次向仓库push代码时执行bats命令(一个自动化测试工具):
(1)在仓库中创建一个.github/workflows/目录
(2)在.github/workflows/目录下,创建一个名为learn-github-actions.yml的文件,表示一个workflow,内容如下:

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

(3)提交并推送代码

下面逐行分析该workflow文件

代码解释
name: learn-github-actionsworkflow的名字(不一定要和文件名相同),可省略
on: [push]指定触发该workflow的事件,该示例使用push事件
jobs:定义该workflow中的job
check-bats-version:job的名字,可任意
runs-on: ubuntu-latest指定该job运行在Ubuntu Linux runner中(GitHub创建的虚拟机)
steps:指定该job包含的step
  - uses: actions/checkout@v2uses关键字表示使用一个现有的action(一种特殊的仓库),格式为{owner}/{repo}@{ref},该示例使用的是actions/checkout@v2,用于(在虚拟机上)拉取代码,从而可以对代码执行操作(例如测试工具),任何需要对代码执行操作workflow都要使用该action
  - uses: actions/setup-node@v2
  with:
   node-version: '14'
安装指定版本的node软件包,从而可以使用npm命令
  - run: npm install -g batsrun关键字在runner上执行一个命令,该示例中使用npm安装测试工具bats
  - run: bats -v执行bats命令,输出版本

该示例workflow的可视化:
workflow可视化

可在GitHub仓库的Actions标签页查看运行结果

常用action

actions是一个GitHub官方账户,提供了多种常用的action,除此之外还有大量其他用户贡献的action,可在GitHub Marketplace搜索

参考文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值