如何在 GitHub Actions 中设置和访问工作流变量?

Aji*_*eer 6 automation react-native devops expo github-actions

我正在自动化我的react-native Expo发布周期。我release channels在世博会中使用来构建stagingproduction构建。例如,每次推送到staging-v1GitHub 分支时,都会触发以下操作。

//staging.yaml

name: Release to staging
on:
  push:
    branches:
      - staging*
jobs:
  publish:
    name: Install and publish on staging channel
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12.x
      - uses: expo/expo-github-action@v5
        with:
          expo-version: 3.x
          expo-username: ${{ secrets.EXPO_CLI_USERNAME }}
          expo-password: ${{ secrets.EXPO_CLI_PASSWORD }}
          expo-packager: npm
      - run: npm install
      - run: expo publish --release-channel ${{ GITHUB_REF }}
Run Code Online (Sandbox Code Playgroud)

{{ GITHUB_REF }}保存当前分支名称。因此,当我将更改推送staging-v1到此操作时会运行。但是,我收到此错误。

github-actions-错误

我试过设置env变量,它也不起作用。我只想将 my 附加branch_nameexpo publish命令中。最终,在构建时,run命令应如下所示。

 - run: npm install
 - run: expo publish --release-channel staging-v1
Run Code Online (Sandbox Code Playgroud)

对这个问题的任何见解将不胜感激。谢谢 :)

Aji*_*eer 1

经过大量的尝试和错误,我找到了解决方案。我使用github-slug-action 工作流程来访问我的branch_name.

name: Release to staging
on:
  push:
    branches:
      - staging*
jobs:
  publish:
    name: Install and publish on staging channel
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12.x
      - uses: expo/expo-github-action@v5
        with:
          expo-version: 3.x
          expo-username: ${{ secrets.EXPO_CLI_USERNAME }}
          expo-password: ${{ secrets.EXPO_CLI_PASSWORD }}
          expo-packager: npm
      - run: npm install
      - name: Run tests
        run: |
          npm test
      - uses: rlespinasse/github-slug-action@v2.x
      - run: expo publish --release-channel=${{ env.GITHUB_REF_SLUG }}
Run Code Online (Sandbox Code Playgroud)

这是日志。

github 操作日志