我有一台运行Gitlab的服务器。假设地址为https://gitlab.mydomain.com
。
现在我想要实现的是安装持续集成系统。由于我正在使用Gitlab,我选择Gitlab CI,因为它感觉更自然的方式。所以我去了Docker回购,我找到了this image。
所以我运行图像来创建一个包含以下内容的容器
docker run --restart=always -d -p 9000:9000 -e GITLAB_URLS="https://gitlab.mydomain.com" anapsix/gitlab-ci
我给它一分钟启动,我现在可以通过URL http://gitlab.mydomain.com:9000
访问CI。到目前为止一切都很好。
我登录CI并且收到此消息:
Now you need Runners to process your builds.
所以我回到Docker Hub,找到了this other image。显然,为了启动这个图像,我必须以交互方式进行。我按照说明操作,它将创建配置文件:
mkdir -p /opt/gitlab-ci-runner
docker run --name gitlab-ci-runner -it --rm -v /opt/gitlab-ci-runner:/home/gitlab_ci_runner/data sameersbn/gitlab-ci-runner:5.0.0-1 app:setup
交互式设置将询问我所需的正确数据:
Please enter the gitlab-ci coordinator URL (e.g. http://gitlab-ci.org:3000/ )
http://gitlab.mydomain.com:9000/
Please enter the gitlab-ci token for this runner:
12345678901234567890
Registering runner with registration token: 12345678901234567890, url: http://gitlab.mydomain.com:9000/.
Runner token: aaaaaabbbbbbcccccccdddddd
Runner registered successfully. Feel free to start it!
我去了http://gitlab.mydomain:9000/admin/runners
,而且很苛刻,跑步者出现在舞台上。
所有人似乎都很努力,但问题:
如果我重新启动机器,由于更新或任何原因,跑步者不再在那里。当我运行跑步者的图像时,我可以在命令中添加--restart=always
,但这会有问题,因为:
我怎么能解决这个问题?
答案 0 :(得分:0)
我有一种方法可以指出你正确的方向,但我试图自己做到这一点,希望我们都能设法让它成为我的情况。
我正在使用coreOS + docker尝试完成您正在尝试的操作,并且在coreOS中,您可以设置一个服务,每次重新启动计算机时启动CI(以及gitlab和其他)我的问题是试图制作同样的安装自动。
经过一番挖掘后,我发现了这一点:https://registry.hub.docker.com/u/ubergarm/gitlab-ci-runner/在本文档中,他们声明可以通过两种方式实现:
1 - 挂载在包含/ root的凭据的.dockercfg文件中 目录
2 - 使用以下信息启动容器:
-e CI_SERVER_URL = https://my.ciserver.com \
意思是您可以设置为使用您的配置自动启动CI,如果您设法做到这一点,我已经尝试了2天告诉我如何=(