我已经在本地机器的docker中设置了一个gitlab运行器。一切正常。当管道启动时,运行程序似乎处理工作负载
但是,我想在本地做这个。例如,如果您下载了gitlab-runner可执行文件,您可以在本地运行stage
$> gitlab-runner exec docker linting
但是在我的情况下,我在docker中启动了跑步者,我没有可执行的gitlab-runner
。我的问题是,是否有相应的docker ?
gitlab-runner exec
作为自己的独立命令工作,并在调用可执行文件的上下文中运行作业——它不会导致作业在已注册的运行器上运行。它仅仅是一个本地操作,所以你必须有可用的二进制文件。
您可以在您的运行器容器或新容器中运行gitlab-runner exec
。
例如(假设Linux平台):
docker run --rm
-v $(pwd):/workspace # mount directory to the container
--workdir /workspace # set working directory
-v /var/run/docker.sock:/var/run/docker.sock # enable docker
--privileged
--entrypoint="gitlab-runner" # set entrypoint
gitlab/gitlab-runner:latest exec docker MY_JOB
或者使用doker exec
在您现有的容器上运行命令:
docker exec -it my-running-container-name gitlab-runner exec docker linting
但是,当您启动容器时,您将希望确保.gitlab-ci.yml
文件和项目文件存在于容器中…