Martin Jainta
@mjainta
@mjainta
microservice
architecture
traditional
architecture
Cross dependencies
docker
Single button deployment
GitLab provides service called dind
BUT! No docker-compose built-in!
Custom-Image for docker-compose
Registry for passing images through stages
GitLab provides a docker registry
FROM jonaskello/docker-and-compose:17.03.0-1.11.2
RUN apk add --update make
image: registry.gitlab.com/tradebyte/build-image:latest
services:
- docker:dind
stages:
- build
- test
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
build:
stage: build
script:
- docker-compose build py
- docker-compose push py
- docker images
lint:
stage: test
script:
- docker-compose pull py
- docker images
- make lint
GitLab provides Secret Keys in CI settings
GitLab provides Deploy-Keys to read a repository
Configure Deploy-Key in dependency
Configure Secrets in dependent project(s)
Again Secrets in GitLab CI
Own repository for deployment, checked out on live
$ git push origin feature/dvocc17