GitHub Actions by Example: Environment Variables

name: env-vars-example
on:
  push:

环境变量可以在整个工作流中被定义,命名规则

env:
  VENI: 'I love Tennoji Rina!'
jobs:
  use-env-vars:
    runs-on: ubuntu-latest

环境变量可以在特定jobs内定义。

    env:
      VIDI: 'I love Tennoji Rina!!'
    steps:
      -
        name: Show me the vars

使用你的操作系统的正常方法进行环境变量读取

        run: echo "$VENI, $VIDI, $VICI"

环境变量可以在独立的step内定义。

        env:
          VICI: 'I love Tennoji Rina!!!'
      -
        name: Create env var

你也可以通过这种形式设置新的环境变量。 Note: 通过这种方式定义或更新的环境变量在定义它的step内不会更新值,后续steps内均可使用。

        run: echo "foo=bar" >> "$GITHUB_ENV"
      -
        name: Special env var: secrets

(此段为译者加)对于github token之类的私密变量, 我们可以在存储库的Settings/Secrets设置中添加机密(secrets)(例子中secret名为ACCESS_TOKEN),可通过以下方式读取。 一般情况下,我们不会也不建议输出机密,此处仅做展示。

        run: echo ${{ secrets.ACCESS_TOKEN }}
      -
        name: Useful default vars
        run: |

官方提供了很多默认环境变量 这里只列举了一部分, 在这里查阅全部.

          echo "工作流名称:  $GITHUB_WORKFLOW"
          echo "Workspace:      $GITHUB_WORKSPACE"
          echo "事件名:          $GITHUB_EVENT_NAME"
          echo "SHA:            $GITHUB_SHA"
          echo "Ref:            $GITHUB_REF"          

下一个例子:Parallel Jobs