如何使用docker gitlab-runner在本地执行阶段



我已经在本地机器的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文件和项目文件存在于容器中…

最新更新