GitHub Actions 持续集成

GitHub Actions 是 GitHub 的持续集成服务。

通常持续集成是由很多操作组成的,比如抓取代码、执行脚本、登录远程服务器、发布到第三方服务等。GitHub将这些操作称作actions。

如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。

GitHub 做了一个官方市场,可以搜索到他人提交的 actions:

下面分别从基本概念和发布流程详细说明一下GitHub Actions。

基本概念:

workflow (流程):持续集成一次运行的过程,就是一个 workflow。

job (任务):一个 workflow 由一个或多个 jobs 构成,含义是一次持续集成的运行,可以完成多个任务。

step(步骤):每个 job 由多个 step 构成,一步步完成。

action (动作):每个 step 可以依次执行一个或多个命令(action)。

创建 workflow 文件,在项目的 .github/workflows 目录,创建一个 workflow 文件,这里用的是ci.yml。

name: Node.js CI


on: [push]


jobs:
  build:


    runs-on: ubuntu-latest


    strategy:
      matrix:
        node-version: [8.x, 10.x, 12.x]


    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - run: npm install
    - run: npm run build --if-present
    - run: npm test
      env:
        CI: true

runs-on 指定在哪个操作系统上运行,有三种配置方式:

1、Ubuntu
runs-on: ubuntu-latest
2、Windows
runs-on: windows-latest
3、macOS
runs-on: macos-latest

node-version 指定 node 版本,有三种配置方式,可以指定多个版本都运行,也可以指定在单个版本下运行。

1、使用三个 node 版本,'x'是一个通配符
 node-version: [8.x, 10.x, 12.x]
2、可以写具体的版本号
 node-version: [8.16.2, 10.17.0]
3、单个版本
 node-version: '12.x'

如果不指定node版本,则GitHub使用环境的默认值node版本。

GitHub 托管的操作系统上安装了npm 和 yarn 来处理依赖关系。在构建和测试代码之前,可以使用 npm 和 yarn 在工作流中安装依赖项。

1、使用npm
run: npm install
1、使用yarn
run: run: yarn

安装 package.json 文件中的 dependencies 依赖。

1、使用npm
run: npm ci
1、使用yarn
run: yarn --frozen-lockfile

安装 package-lock.json 或者 npm-shrinkwrap.json 文件中的依赖,这样可以防止 npm install 安装时 lock 文件发生变化。

拉取代码。这里用的是 GitHub 官方的 action: actions/checkout@v2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值