私は、GitLab CIランナーを使用してdocker-compose
経由で4コンテナアプリを展開する自動配置を設定しようとしています。 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