我有一个项目,我将 GitHub Actions 用于 CI/CD。我有一个 shell 脚本,我想从我的 Actions yml 中注入环境变量。这是我目前所拥有的:
- name: docker-push
env:
USER: joesan
SOME_GITHUB_REPO_NAME: github-repo-name
GH_REPO: github.com/$USER/$SOME_GITHUB_REPO_NAME
run: |
echo "Running sbt assembly"
echo $GITHUB_REF
echo "Pushing tag into Docker Registry"
sh ./scripts/tag_deployment.sh
在 tag_deployment.sh 中,我尝试使用这些变量:
....
....
git clone https://${GH_REPO}
cd "${SOME_GITHUB_REPO_NAME}"
....
....
但是我看到当操作运行时它不打印设置的内容!
Cloning into '$SOME_GITHUB_REPO_NAME'...
fatal: unable to access 'https://github.com/$USER/$SOME_GITHUB_REPO_NAME/': The requested URL returned error: 400
如何将这些环境变量正确地注入到我的 shell 脚本中?
答案 0 :(得分:0)
从 GitHub 文档中理解并不是那么直观。我设法通过像这样全局移动环境变量来解决这个问题:
env:
USER: joesan
DEPLOYMENT_REPO_NAME: some-repo-name
然后在我的其他一些工作定义中使用它,如下所示:
- name: docker-push
env:
GH_REPO: github.com/${{ env.USER }}/${{ env.DEPLOYMENT_REPO_NAME }}