docker-compose
을 통해 4 컨테이너 앱을 배포하기 위해 GitLab CI 러너를 사용하여 자동 배포를 설정하려고합니다. docker pull
명령을 사용하여 컨테이너 이미지를 가져올 수 있지만 전체 docker-compose
스크립트를 실행하려면 Google Compute Engine 인스턴스에 연결하는 방법이 고생했습니다.Docker를 사용하여 GitLab CI에서 Google Container Engine 인스턴스로 어떻게 배포합니까?
eval $(docker-machine env <machine-instance>)
docker-compose up -d
하지만 내 .gitlab-ci.yml
스크립트를 사용할 수 docker-machine
을 가지고 있지 않습니다
일반적으로 내 로컬 컴퓨터에서, 내가 좋아하는 뭔가를 실행합니다.
- 내가 내
.gitlab-ci.yml
파일에script
섹션을 통해docker-machine
를 설치해야합니까? - 매번 인스턴스를 새로 만들지 않고 인스턴스를 프로비저닝하려면 어떻게해야합니까? 일반적으로 내 로컬 호스트에서 을 실행 한 후 을 실행 한 다음 위의
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