GitLab
Outubro/2019
Agenda.
1. Introdução
2. GitLab x GitHub
3. GitLab CI/CD
2
Time.
Lucas Nodari
Analista de Segurança da
Informação
Fernando Henrique
Programador
3
Introdução
● GitLab é um serviço de git similar ao GitHub.
Introdução
5
● GitLab é um serviço de git similar ao GitHub.
● Totalmente open source, pode ser instalado em qualquer máquina.
Introdução
6
● GitLab é um serviço de git similar ao GitHub.
● Totalmente open source, pode ser instalado em qualquer máquina.
○ GitLab Community Edition
○ GitLab Enterprise Edition
○ Cloud/SaaS gitlab.com
Introdução
7
● GitLab é um serviço de git similar ao GitHub.
● Totalmente open source, pode ser instalado em qualquer máquina.
○ GitLab Community Edition
○ GitLab Enterprise Edition
○ Cloud/SaaS gitlab.com
● Simples de instalar e gerenciar.
Introdução
8
● GitLab é um serviço de git similar ao GitHub.
● Totalmente open source, pode ser instalado em qualquer máquina.
○ GitLab Community Edition
○ GitLab Enterprise Edition
○ Cloud/SaaS gitlab.com
● Simples de instalar e gerenciar.
● Atualmente é o mais utilizado para auto-gerenciamento de repositórios
Introdução
9
● GitLab é um serviço de git similar ao GitHub.
● Totalmente open source, pode ser instalado em qualquer máquina.
○ GitLab Community Edition
○ GitLab Enterprise Edition
○ Cloud/SaaS gitlab.com
● Simples de instalar e gerenciar.
● Atualmente é o mais utilizado para auto-gerenciamento de repositórios
○ GitHub Enterprise Server
○ BitBucket Server, BitBucket Data Center
○ Gitea, Gogs
○ Phabricator
○ Gitolite
Introdução
10
Empresas que utilizam o GitLab
11
Página de acesso
12
Tela inicial
13
GitLab x GitHub
Pontos principais
Organização Desenvolvimento Segurança
15
Pontos principais
Organização Desenvolvimento Segurança
16
Organização
● Grupos e subgrupos → namespaces
17
● Organizações e equipes
Grupos e subgrupos
18
Organização
19
● Grupos e subgrupos → namespaces
● Controle de funcionalidades,
visibilidade e permissões
● Organizações
● Controle simples e limitado
Visibilidade, funcionalidades e permissões
20
Visibilidade, funcionalidades e permissões
21
Pontos principais
Organização Desenvolvimento Segurança
22
Desenvolvimento
23
● Revisão de código
○ Merge Requests
○ Threads
● Revisão de código
○ Pull Requests
○ Reviews
Revisão de código
24
Desenvolvimento
25
● Revisão de código
○ Merge Requests
○ Threads
● Ampla liberdade para repositórios
● Revisão de código
○ Pull Requests
○ Reviews
● Diversas restrições de plano
Desenvolvimento
26
● Revisão de código
○ Merge Requests
○ Threads
● Ampla liberdade para repositórios
● Web IDE integrado
● Revisão de código
○ Pull Requests
○ Reviews
● Diversas restrições de plano
● Não possui
Web IDE
27
Desenvolvimento
28
● Revisão de código
○ Merge Requests
○ Threads
● Ampla liberdade para repositórios
● Web IDE integrado
● Discussões sobre imagens
● Revisão de código
○ Pull Requests
○ Reviews
● Diversas restrições de plano
● Não possui
● Não possui
Discussão sobre imagens
29
Desenvolvimento
30
● Revisão de código
○ Merge Requests
○ Threads
● Ampla liberdade para repositórios
● Web IDE integrado
● Discussões sobre imagens
● Pipelines de CI/CD integrado
● Revisão de código
○ Pull Requests
○ Reviews
● Diversas restrições de plano
● Não possui
● Não possui
● CI/CD recentemente introduzido
(actions beta)
Pipelines CI/CD
31
Desenvolvimento
32
● Revisão de código
○ Merge Requests
○ Threads
● Ampla liberdade para repositórios
● Web IDE integrado
● Discussões sobre imagens
● Pipelines de CI/CD integrado
● Docker registry integrado
● Revisão de código
○ Pull Requests
○ Reviews
● Diversas restrições de plano
● Não possui
● Não possui
● CI/CD recentemente introduzido
● Implementado recentemente
(Package Registry beta)
Docker Registry
33
Pontos principais
Organização Desenvolvimento Segurança
34
Segurança
35
● Dezenas de integrações de login ● Poucas e somente no enterprise
Integrações de login
36
Segurança
37
● Dezenas de integrações de login
● Acompanhamento e regras para
autenticação multi-fator
● Poucas, somente no enterprise
● Depende do plano
Autenticação multi-fator
38
Autenticação multi-fator
39
Segurança
40
● Dezenas de integrações de login
● Acompanhamento e regras para
autenticação multi-fator
● Mirror de repositórios seguro
● Poucas, somente no enterprise
● Depende do plano
● Não possui
Mirror de repositórios
41
GitLab CI/CD
Introdução
● Continuous Integration
● Continuous Delivery
● Continuous Deployment
43
Introdução
44
Introdução
● Continuous Integration
● Continuous Delivery
● Continuous Deployment
● GitLab CI/CD
45
Introdução
● Continuous Integration
● Continuous Delivery
● Continuous Deployment
● GitLab CI/CD
● GitLab Runner
46
Arquitetura
47
Arquitetura
48
Arquitetura
49
GitLab CI/CD
● Totalmente integrado no GitLab
50
GitLab CI/CD
● Totalmente integrado no GitLab
● Arquivo .gitlab-ci.yml na raiz do repositório
51
GitLab CI/CD
● Totalmente integrado no GitLab
● Arquivo .gitlab-ci.yml na raiz do repositório
● Controlado como qualquer arquivo no repositório
52
GitLab CI/CD
● Totalmente integrado no GitLab
● Arquivo .gitlab-ci.yml na raiz do repositório
● Controlado como qualquer arquivo no repositório
● Cada commit dispara um pipeline
53
GitLab CI/CD
● Totalmente integrado no GitLab
● Arquivo .gitlab-ci.yml na raiz do repositório
● Controlado como qualquer arquivo no repositório
● Cada commit dispara um pipeline
● Pipelines podem ser iniciados manualmente para um branch
54
GitLab Runner
● Executor dos pipelines
55
GitLab Runner
● Executor dos pipelines
● Disponível para Linux, Windows ou MacOS
56
GitLab Runner
● Executor dos pipelines
● Disponível para Linux, Windows ou MacOS
● Executa tarefas paralelamente
57
GitLab Runner
● Executor dos pipelines
● Disponível para Linux, Windows ou MacOS
● Executa tarefas paralelamente
● Múltiplos modos de execução suportados
58
GitLab Runner
● Executor dos pipelines
● Disponível para Linux, Windows ou MacOS
● Executa tarefas paralelamente
● Múltiplos modos de execução suportados
○ Shell
○ Docker
○ Docker Machine
○ Kubernetes
○ VirtualBox
○ Parallels
○ SSH
○ Custom
59
GitLab CI/CD
60
GitLab CI/CD
61
GitLab CI/CD
62
GitLab CI/CD
63
GitLab CI/CD
64
GitLab CI/CD
65
GitLab CI/CD
66
GitLab CI/CD
67
GitLab CI/CD
68
GitLab CI/CD
69
GitLab CI/CD
70
GitLab CI/CD
71
GitLab CI/CD
72
GitLab CI/CD
73
GitLab CI/CD
74
GitLab CI/CD
75
GitLab Runner
76
GitLab Runner
77
GitLab Runner
78
Dúvidas?
79
80
Obrigado. 81

BlingTech - Gitlab