lpi*_*pil 6 docker github-actions
我正在尝试创建一个基于 Dockerfile 的操作,该操作将一个程序添加到 中$PATH,以便以后的操作可以使用它。我的操作运行如下代码:
mkdir -p $GITHUB_WORKSPACE/bin\necho "echo Hello, world!" > $GITHUB_WORKSPACE/bin/hello-world\necho "::add-path::$GITHUB_WORKSPACE/bin"\nRun Code Online (Sandbox Code Playgroud)\n\n我的测试工作流程使用如下:
\n\njobs:\n test:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v1.0.0\n - name: Add program to path\n uses: ./\n - name: Use program\n run: hello-world\nRun Code Online (Sandbox Code Playgroud)\n\n这会失败,因为虽然程序已添加到操作中的$GITHUB_WORKSPACE/bin/hello-world值,但工作区步骤中的值不同。$GITHUB_WORKSPACE
在action中是\xc2\xa0 /github/workspace/,而在workflow中是/home/runner/work/setup-gleam/setup-gleam/,所以$PATHaction设置的加法不正确。
如何从基于 dockerfile 的 GitHub 操作将文件添加到目录,以便它位于工作流程其余部分的路径上?$PATHdockerfile 操作和非 dockerfile 操作之间似乎没有共享可写目录。
小智 1
运行路径存储在$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
Run Code Online (Sandbox Code Playgroud)
但它看起来更像是一种解决方法,而不是解决方案。
| 归档时间: |
|
| 查看次数: |
2196 次 |
| 最近记录: |