我正尝试使用GitLab CI跑步者通过docker-compose
部署我们的4容器应用程序来设置自动化部署。我可以使用docker pull
命令将容器图像拉下来,但我坚持如何连接到Google Compute Engine实例以运行完整的docker-compose
脚本。如何使用Docker从GitLab CI部署到Google Container Engine实例?
通常情况下,从我的本地机器上,我运行类似:
eval $(docker-machine env <machine-instance>)
docker-compose up -d
但我.gitlab-ci.yml
脚本没有docker-machine
可用。
- 我必须通过
script
节我.gitlab-ci.yml
文件安装docker-machine
? - 如何在不使用 的情况下每次创建一个新的实例?通常,从我的本地主机,我会 运行
docker-machine create ...
然后只使用上面的eval
命令重新连接到实例。但是,这将如何与CI工作 ?
这里是我的.gitlab-ci.yml
样本:
deploy staging:
image: docker:latest
services:
- docker:dind
environment: staging
stage: deploy
before_script:
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN my-registry.githost.io
script:
- docker pull my-registry.githost.io/group/project1:develop
- docker pull my-registry.githost.io/group/project2:develop
- docker pull my-registry.githost.io/group/project3:develop
- docker pull my-registry.githost.io/group/project4:develop
- docker-machine ls
[此链接](http://totallyon.me/2016/09/22/running-gitlab-ci-runner-in-gce/)可能的帮助。 [Cloud Launcher](https://cloud.google.com/launcher/)也有一个预配置的GitLab版本。 – Carlos