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 utilizando o GitLab Runner em um container Docker rodando sobre uma instância EC2 Spot.

Pré requisitos:

  • O aluno deve possuir uma conta na AWS

Parte 1 - Criação de Amazon EC2 SPOT

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

# gitlab runner container creation
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

# gitlab runner registration
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 <gitlab-token> \
    --name gitlab-runner \
    --locked \
    --paused \
    --executor docker \
    --docker-image docker:dind

# gitlab runner configuration
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 - Configuração do GitLab Runner

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

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