我正在谷歌 Cloud 引擎上部署gitlab-runner到kubernetes,因此可以快速扩展跑步者/将配置发送给其他人,这样他们就可以运行自己的跑步者 . 但首先,我想试着看看我是否可以让我的笔记本电脑本地连接到跑步者 .
设置我有一个项目,在gitlab上是公开的,但我没有证明自己可以通过:https://github.com/NullVoxPopuli/vsts-agent-with-aws-ecr(我为工作做的一个项目)
这是我到目前为止gitlab运行器的内容:
#/bin/bash
docker stop gitlab-runner && docker rm gitlab-runner
docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/local/gitlab-ci-runner/config:/etc/gitlab-runner \
-v "$(pwd)/config.toml":/etc/gitlab-runner/config.toml:ro \
gitlab/gitlab-runner:alpine
docker exec -it gitlab-runner gitlab-runner register \
-n \
--url https://gitlab.com/ci \
--tag-list "docker,docker-compose" \
--run-untagged \
--registration-token my-runner-token \
--executor docker \
--description "Docker Runner" \
--docker-image "docker:dind" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock \
--docker-privileged
这是我的config.toml:
concurrent = 4
[[runners]]
name = "precognition-gitlab-runner"
url = "https://gitlab.example.com/ci"
token = "my-runner-token"
executor = "docker"
run_untagged = true
[runners.docker]
tls_verify = false
image = "alpine"
privileged = true
disable_cache = false
volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
[runners.cache]
Insecure = false
现在,当我运行运行gitlab-runner然后注册它的脚本时,我确实在gitlab中看到了https://gitlab.com/project_name/settings/ci_cd
但是,它说跑步者尚未连接:
配置它的正确方法是什么?
这是我的.gitlab-ci.yml对于任何好奇的人:https://gitlab.com/precognition-llc/aeonvera-ui/blob/registration-rework/.gitlab-ci.yml
它只运行其他脚本,然后运行docker-compose然后运行测试 .
1 回答
我遇到了和以前一样的问题 . 似乎停泊器容器在完成注册跑步者后退出 . 由于某种原因,即使设置了
docker run -rm
标志,我在后续命令上也得到了"container already exists" . 也许教程有错误或我们误解了那里的一些步骤 .我解决它的方法是首先删除容器
然后使用以下命令启动已注册的容器:
我希望它有所帮助 .