我正在尝试使用GitLab CI运行程序建立自动部署,通过docker-compose部署我们的4容器应用程序。我可以使用docker pull命令拉下容器图像,但是我一直在研究如何连接到Google实例,以便运行完整的docker-compose脚本。
通常,在本地机器上,我运行的内容如下:
eval $(docker-machine env <machine-instance>)
docker-compose up -d但是我的.gitlab-ci.yml脚本没有可用的docker-machine。
docker-machine文件中的script部分安装.gitlab-ci.yml?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发布于 2016-12-06 14:45:04
不知道在这种情况下你需要码头机做什么。你可能想把它处理掉。
但回到您的问题上,您所使用的坞映像既不附带坞机,也不带坞工组成:
因此,您将需要创建一个新的映像(或找到一个现有的),与这两个安装。所以在.gitlab-ci.yml中,而不是image: docker:latest中,它将类似于image: mydocker
发布于 2016-12-07 23:33:44
您可能必须在GitLab CI运行程序中安装坞机才能与GCE一起使用它。
https://stackoverflow.com/questions/40997670
复制相似问题