[英]How do I pass values to docker compose from GitHub Action workflow
[英]Adding a binary to the PATH from a Docker GitHub Action for use by later workflow steps
我正在嘗試創建一個基於 Dockerfile 的操作,該操作將程序添加到$PATH
以便以后的操作可以使用它。 我的操作運行如下代碼:
mkdir -p $GITHUB_WORKSPACE/bin
echo "echo Hello, world!" > $GITHUB_WORKSPACE/bin/hello-world
echo "::add-path::$GITHUB_WORKSPACE/bin"
我的測試工作流程是這樣使用的:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1.0.0
- name: Add program to path
uses: ./
- name: Use program
run: hello-world
這失敗了,因為當程序已添加到$GITHUB_WORKSPACE/bin/hello-world
時, $GITHUB_WORKSPACE
的值在操作和工作區步驟中是不同的。
在動作中是/github/workspace/
,而在工作流中是/home/runner/work/setup-gleam/setup-gleam/
,所以動作設置的$PATH
添加不正確。
如何將文件從基於 dockerfile 的 GitHub 操作添加到目錄,以便它位於工作流的 rest 的路徑上? 似乎 dockerfile 操作和非 dockerfile 操作之間沒有共享可寫的$PATH
目錄。
Runner 路徑存儲在$RUNNER_WORKSPACE
環境變量中,可用於獲取正確的路徑。
echo "::add-path::$GITHUB_WORKSPACE/bin" # Make it accessible from docker containers
echo "::add-path::$RUNNER_WORKSPACE/$(basename $GITHUB_REPOSITORY)/bin" # Make it accessible from runner
但它看起來更像是一種解決方法而不是解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.