簡體   English   中英

從 Docker GitHub 將二進制文件添加到 PATH 供后續工作流步驟使用的操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM