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

React native 如何在GitHub操作中设置和访问工作流变量?,react-native,automation,expo,devops,github-actions,React Native,Automation,Expo,Devops,Github Actions,我正在自动化我的react nativeExpo发布周期。我正在世博会中使用发布频道构建登台和制作构建。例如,每次推送到staging-v1GitHub分支时,都会触发下面的操作 //staging.yaml 名称:发布到暂存 关于: 推送: 分支机构: -登台* 工作: 出版: 名称:在临时通道上安装和发布 运行于:ubuntu最新版本 步骤: -用途:行动/checkout@v1 -用途:操作/设置-node@v1 与: 节点版本:12.x -用途:世博会/世博会信息中心-action@v5

我正在自动化我的
react native
Expo发布周期。我正在世博会中使用
发布频道
构建
登台
制作
构建。例如,每次推送到
staging-v1
GitHub分支时,都会触发下面的操作

//staging.yaml
名称:发布到暂存
关于:
推送:
分支机构:
-登台*
工作:
出版:
名称:在临时通道上安装和发布
运行于:ubuntu最新版本
步骤:
-用途:行动/checkout@v1
-用途:操作/设置-node@v1
与:
节点版本:12.x
-用途:世博会/世博会信息中心-action@v5
与:
世博版:3.x
博览会用户名:${secrets.expo_CLI_username}
expo密码:${secrets.expo_CLI_password}
世博包装商:npm
-运行:npm安装
-运行:expo发布--发布频道${{GITHUB\u REF}
{{GITHUB\u REF}}
保存当前分支名称。因此,当我将更改推送到
staging-v1
时,此操作将运行。然而,我得到了这个错误

我试过设置
env
变量,但也不起作用。我只想将我的
branch\u name
附加到
expo publish
命令。最终,在构建时,
run
命令应该如下所示

 - run: npm install
 - run: expo publish --release-channel staging-v1

对这个问题的任何洞察都将不胜感激。谢谢:)

经过多次尝试和错误,我找到了解决方案。我使用访问我的
分支机构名称

name:Release to staging
关于:
推送:
分支机构:
-登台*
工作:
出版:
名称:在临时通道上安装和发布
运行于:ubuntu最新版本
步骤:
-用途:行动/checkout@v1
-用途:操作/设置-node@v1
与:
节点版本:12.x
-用途:世博会/世博会信息中心-action@v5
与:
世博版:3.x
博览会用户名:${secrets.expo_CLI_username}
expo密码:${secrets.expo_CLI_password}
世博包装商:npm
-运行:npm安装
-名称:运行测试
运行:|
npm试验
-用途:RSE/github slug-action@v2.x
-运行:expo发布--发布频道=${{env.GITHUB\u REF\u SLUG}
这是日志


我为此构建了一个GitHub操作:

用法如下:

steps:
  - uses: FranzDiebold/github-env-vars-action@v1.2.0
  - name: Print environment variables
    run: |
      echo "GITHUB_REPOSITORY_SLUG=$GITHUB_REPOSITORY_SLUG"
      echo "GITHUB_REPOSITORY_OWNER=$GITHUB_REPOSITORY_OWNER"
      echo "GITHUB_REPOSITORY_OWNER_SLUG=$GITHUB_REPOSITORY_OWNER_SLUG"
      echo "GITHUB_REPOSITORY_NAME=$GITHUB_REPOSITORY_NAME"
      echo "GITHUB_REPOSITORY_NAME_SLUG=$GITHUB_REPOSITORY_NAME_SLUG"
      echo "GITHUB_REF_SLUG=$GITHUB_REF_SLUG"
      echo "GITHUB_REF_NAME=$GITHUB_REF_NAME"
      echo "GITHUB_REF_NAME_SLUG=$GITHUB_REF_NAME_SLUG"
      echo "GITHUB_SHA_SHORT=$GITHUB_SHA_SHORT"
一个示例输出是:

GITHUB_REPOSITORY_SLUG=ajinkabeer-test-repo
GITHUB_REPOSITORY_OWNER=ajinkabeer
GITHUB_REPOSITORY_OWNER_SLUG=ajinkabeer
GITHUB_REPOSITORY_NAME=test-repo
GITHUB_REPOSITORY_NAME_SLUG=test-repo
GITHUB_REF_SLUG=refs-heads-staging-v1
GITHUB_REF_NAME=staging-v1
GITHUB_REF_NAME_SLUG=staging-v1
GITHUB_SHA_SHORT=e2e4f0ab

中还提供了针对所有操作系统(Linux、macOS和Windows)的演示

谢谢你的回答。看起来不错,我一定要试试这个。再次感谢:)