繁体   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