概要
表題の勉強会を行った二日目の内容を記載します。全日の内容は以下のまとめページをご覧ください。
[【まとめ】最小限の構成でdocker-composeからKubernetesにデプロイする勉強会] (https://qiita.com/tamoco/items/5a5ffb448d59b3b03831/)
二日目のできたこと
- GitLabのCI/CD pipelinesによるContainer RegistryへのPush
二日目の内容
pipelines
でビルド及びプッシュするに.gitlab-ci.yml
を作成しました。ここでのポイントは以下のとおりです。
-
docker-compose
はdocker:dind
に入っていないため追加する -
$CI_REGISTRY_USER
などで予めdocker login
しておく
■ .gitlab-ci.yml
image: docker:latest
stages:
- test
- build
variables:
DOCKER_DRIVER: overlay
services:
- docker:dind
before_script:
- docker info
- apk update
- apk upgrade
- apk add docker-compose
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker-compose build
build:
stage: build
script:
- docker-compose push
.gitlab-ci.yml
によってPackages & Registries
の
Container Registry
にコンテナイメージが作成されていることが確認できます。
二日目を振り返って
.gitlab-ci.yml
についてはdocker
のサンプルがあり、それを元に作成しました。CI/CD
のPipelines
で成功・失敗が一目でわかるので、トライ&エラーを重ねながら無事に作成することができました。今回は小規模の.gitlab-ci.yml
の作成になるので、実際にプッシュして動作確認していますが、実際はGitLab Runnerのコンテナを用いて動作検証した方がよかったりします。
[Run GitLab Runner in a container] (https://docs.gitlab.com/runner/install/docker.html)