Gumref-v2

gumgum reference architecture for docker

Florian Dambrine - Senior Devops Engineer @GumGum

1 - Base images are manged by ops with ansible container

baseline

python

java

nodejs

tomcat

Build tools
Inherits from

2 - Base images are produced with different versions

python

Jenkins pipelines continuously integrate and deploy base images to ECR (Docker registry)

2

python

3

push

push

3 - Developers start their dockerfiles from base images

### Application Builder Image
FROM <image>-builder:latest
MAINTAINER team-name <team-name@gumgum.com>

# Your App builds here
...

##################################################

### Production Application
FROM <image>:latest
MAINTAINER team-name <team-name@gumgum.com>

# /!\ App deps if needed but no Build tools /!\
...

# Copy previously built code
COPY --from=0 /code /app
# Copy previously installed deps
COPY --from=0 /venv /venv

4 - CI / CD with Multi branch pipeline jenkins jobs for your app

ECS Cluster

 <feature-1>

 <feature-2>

 <dev>

 <stage>

 <master>

app.gumgum.com

stage.va.ggops.com

dev.va.ggops.com

feature-2.dev.va.ggops.com

feature-1.dev.va.ggops.com

commit

build

test

deploy







app/
├── ...
├── Dockerfile
└── Jenkinsfile
Made with Slides.com