摘要:
GitHub上的自托管运行器操作在docker容器中执行,该容器以一堆选项启动,这些选项由action / runner软件预先确定。如何为docker create
和docker run
添加自定义选项?
详细信息和说明
当我在自托管运行器上运行github action工作流时,该过程如下所示:
作业容器是用这样的命令启动的,正如我在日志中看到的那样:
/usr/bin/docker create --name da928aa7e61a4a44bd8e525...ea --label d36a64 --workdir /__w/xyz/xyz --network github_network_187...1631 -e "HOME=/github/home" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" etc. pp.
现在,作为该容器中CI构建的一部分,我要运行一些非常特殊的测试。为此,我需要为/usr/bin/docker create
指定其他选项,因此,想象一下我需要此list中的任何选项。假设--cap-add
。
我该怎么做?我已经想到了一些选择:
还有其他想法吗?
答案 0 :(得分:0)
我在这里回答自己的问题:
可以将选项指定为工作流yml的一部分,如下所述:
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idcontainer
.github / workflows / workflow.yml的示例部分
(...)
container:
image: contoso.azurecr.io/bionic-custom:latest
options: --cap-add=NET_ADMIN
(...)