在Github工作流程中将环境变量CI设置为true的目的是什么?

时间:2020-01-31 14:56:42

标签: github github-actions

让我们以基于NodeJS starter workflow的工作流为例。

name: continues integration workflow
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: checkout repo
      uses: actions/checkout@v2
    - name: setup node
      uses: actions/setup-node@v1
      with:
        node-version: '13.x'
    - run: npm test
      env:
        CI: true

设置CI: true的目的是什么?

2 个答案:

答案 0 :(得分:2)

据我所知,CI变量用于与其他CI系统兼容。以下是我所知道的事实:

  1. GitHub Actions本身对CI变量没有任何用途。
  2. 其他CI系统(例如Travis和CircleCI)始终设置为CI=1
  3. 与其他系统不同,GitHub Actions不会设置CI=true,因为它并非仅用于CI。而是设置GITHUB_ACTIONS=true
  4. CI变量的常规用法是使您的测试和应用程序配置可以检查其存在,并在需要时进行其他操作(例如,跳过对CI的某些测试,或配置一个在CI上设置不同)。

如果您的代码和测试代码中没有CI变量,那么您可以忽略此设置并获得相同的结果。

答案 1 :(得分:2)

请注意,since April 2020将不再显示

set terminal postscript color

这是因为env: CI: true 现在默认情况下始终设置为true。

如前所述,这将允许脚本检查脚本是否在CI / CD环境的上下文中运行。 您发现same convention in GitLab

标记作业在CI环境中执行