Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • workshop-ages-winter-2021
  • wiki
  • Wiki
  • Dia 3: Containers Docker e CI CD

Last edited by Angelo Calebe Araujo da Rocha Jul 22, 2021
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Dia 3: Containers Docker e CI CD

Roteiro de trabalho

Ao final deste roteiro, o aluno terá construído uma pipeline de integração e entrega contínua básica em cima das aplicações apresentadas, que serão executadas em containers cujas imagens serão publicadas no Amazon ECR . Esta pipeline será executada pelo GitLab Runner que será executado sobre uma instância EC2 Spot com escalabilidade automática.

Pré requisitos:

  • O aluno deve possuir uma conta na AWS

Parte 1 - Criação de um modelo de execução

#!/bin/bash

# install docker
yum update -y 
amazon-linux-extras install docker -y
yum install docker -y
service docker start
usermod -a -G docker ec2-user

# run gitlab runner container
docker run -d --name gitlab-runner --restart always \
    -v /srv/gitlab-runner/config:/etc/gitlab-runner \
    -v /var/run/docker.sock:/var/run/docker.sock \
    gitlab/gitlab-runner:latest

# register gitlab runner
docker run --rm -it -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
    --non-interactive \
    --url https://tools.ages.pucrs.br/ \
    --registration-token X6kyNTAx9jyqFdZXWhHU \
    --name gitlab-runner \
    --locked \
    --paused \
    --executor docker \
    --docker-image docker:dind

# configure gitlab runner
cat > /srv/gitlab-runner/config/config.toml << EOF
concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "gitlab-runner"
  url = "https://tools.ages.pucrs.br"
  token = "7Hu-XErZW6f1W_zt21kg"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "docker:dind"
    privileged = true 
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
    shm_size = 0
EOF

Parte 2 - Criação de grupos auto scaling

TODO

Parte 3 - Criação de um repositório no ECR

TODO

Parte 4 - Configuração no GitLab

TODO

Parte 5 - Criação da pipeline de CI/CD

TODO

Clone repository
  • Dia 1: Frontend, Backend e Git
  • Dia 2: Amazon Web Services (AWS)
  • Dia 3: Containers Docker e CI CD
  • Home