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)的演示 谢谢你的回答。看起来不错,我一定要试试这个。再次感谢:)