SlideShare uma empresa Scribd logo
GitLab CI/CD com
Python
31º Python Floripa - Élysson MR -
@elyssonmr
Spoilers
O que é continuous Integration?
Conceitos utilizados no GitLab CI/CD
Exemplo
Conclusão
Sobre Mim
Élysson Mendes Rezende aka ElyssonMR
#SoftPlayer
Doteiro (pelo menos eu tento)
Aspirante em arquitetura de Software
Introdução
Ajuda na melhoria da qualidade do código
Manutenabilidade do sistema
Encontrar problemas com antecedência
Problemas para validação e deploy do sistema
O que é Continuous Integration
Tradução: Integração contínua
Metodologia de desenvolvimento em que cada entrega de trabalho é
integrada continuamente com o todo
Usada para identificar com antecedência problemas no código,
incompatibilidades e/ou impacto em partes não alteradas
Previne que cada feature incorporada “não atrapalhe o todo”
O que é Continuous Integration
Detecta falhas rapidamente
Abre portas para entregas em produção automatizadas
Não necessita de alguém para manualmente executar os testes, validar o
código e/ou gerar os artefatos necessários
Possibilita entregas de valor mais ágeis (inclusive é recomendado pelo Scrum)
O que é Continuous Delivery
Tradução: Entrega contínua
Habilidade de fazer com que todas as modificações entrem em produção ou
nas mãos dos usuários
Times de alto desempenho sempre fazem entregas frequentes
O custo é baixo porque não teremos que delegar o delivery para alguém
GitLab CI/CD
Ferramenta de Continuous Integrations incorporada ao GitLab
Permite diversas personalizações no processo
Fortemente integrado com o ecossistema do GitLab (pages, Docker Registry e
etc)
Multiplataforma e multi linguagem o/
GitLab CI/CD
Fácil de aprender (utiliza arquivos YML)
Escalável
Suporta docker
GitLab CI/CD
GitLab CI/CD
Podemos fazer todo o processo de DevOPS de forma automatizada
GitLab CI/CD - Conceitos -> Stages
São os estágios do “pipeline”
Permitem criar uma ordem de execução dentro do “pipeline”
Os Jobs dentro de cada stage são executados em paralelo
Os Jobs do próximo stage não executam antes que os jobs do stage anterior
finalizem
Para saber mais: GitLab Stages
GitLab CI/CD - Conceitos -> Stages
Exemplo de Stages:
GitLab CI/CD - Conceitos -> Jobs
São as tarefas que serão executadas em cada estágio
Pode ser definido um número ilimitado de jobs por arquivo de configuração
Os Jobs são escolhidos pelos Runners para serem executados
É importante que cada Job seja executado sem depender e/ou interferir outro
(lembrando que cada Stage executa seus jobs em paralelo)
Para saber mais: GitLab Jobs
GitLab CI/CD - Conceitos -> Jobs
As palavras reservadas não podem ser utilizadas como nome dos Jobs
Examplo:
GitLab CI/CD - Conceitos -> Variáveis
São como variáveis de ambiente nos Runners
Podem ser definidas dentro dos arquivos de configuração (global ou local)
Podem ser privadas (neste caso são definidas no projeto ou no grupo)
Algumas variáveis são setadas pelo Runner quando o job é executado.
Exemplo: $CI_COMMIT_TAG
Para saber mais: GitLab Variables
GitLab CI/CD - Conceitos -> Variáveis
Exemplos:
GitLab CI/CD - Conceitos -> Runners
São máquina virtuais isoladas que executam os Jobs definidos nos Stages
Podem ser configurados no Windows, Linux e Mac
Os Runners podem ser específicos (executam uma tarefa por vez) ou
compartilhados (podem executar múltiplas tarefas)
É recomendado que não sejam instalados na mesma máquina que o GitLab
GitLab CI/CD - Conceitos -> Runners
Podemos registrar diversos Runners, no Kubernetes eles podem ser auto
escaláveis
Podemos adicionar tags nos Runners, por exemplo, um Runner com uma
versão paga de algum software (ex: Structure101)
GitLab CI/CD - Conceitos -> Runners
Exemplos:
Na Prática
Projeto: Products API
Vamos fazer um pequeno incremento em um projeto, depois iremos executar
o pipeline de CI/CD e analisar o que esta sendo executado. Ao final iremos
verificar a nova versão no Docker hub e também verificar que os testes
unitários vão gerar um HTML que será disponibilizado no Pages do GitLab
Conclusões
Cada vez mais precisamos fazer entregas frequentes
Quando um problema é detectado mais a frente em um processo ele acaba
custando mais caro para ser corrigido
Quanto mais passos automatizados melhor, muitos erros vão para produção
devido a serem executados por humanos
Para saber mais ;)
https://docs.gitlab.com/ce/ci/yaml/README.html
https://docs.gitlab.com/ce/ci/runners/README.html
http://missaodevops.com.br/docs/gitlabci_home.html
https://www.scrum.org/resources/use-scrum-continuous-delivery-build-right-
thing
https://continuousdelivery.com/
Desafio o/
Obrigado!
Élysson MR
Twitter: @elyssonmr
Email: elyssonmr at gmail dot com
Telegram: @elyssonmr
LinkedIn: elyssonmr

Mais conteúdo relacionado

PPTX
Jenkins integrando e estendendo.
PDF
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
PDF
IFSP 2015 - Cultura DevOps
PDF
Jenkins, o CI ao seu dispor
PDF
Docker como super comando
PPTX
Dev ops integração contínua com jenkins
PDF
Integração contínua em PHP com Jenkins
PDF
DevOps é cultura, processo ou cargo ?
Jenkins integrando e estendendo.
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
IFSP 2015 - Cultura DevOps
Jenkins, o CI ao seu dispor
Docker como super comando
Dev ops integração contínua com jenkins
Integração contínua em PHP com Jenkins
DevOps é cultura, processo ou cargo ?

Mais procurados (20)

PDF
Cultura DevOps e integração entre infra e devel
PDF
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
ODP
Botando o Jenkins para rodar seus testes
PDF
Discutindo DevOps na pratica, por Danilo Sato
PDF
DevOps: princípios e práticas para a Entrega Contínua
PPTX
DevOps - A Origem
PDF
DevOps no mundo real - QCON 2014
PDF
UAI Test - Introdução Prática ao Jenkins
PDF
Jenkins - livre-se da parte chata do Java
PDF
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
PDF
Jenkins
PPTX
DevOps com Exemplos Práticos - QConRio 2014
PPTX
Existe Vida além do FTP!
PDF
Precisamos falar sobre Testes de infraestrutura
PPT
Como convenci meu chefe que devíamos automatizar testes - Marcelo Soares - TD...
PPTX
Ruby Conf Brasil 2015
PPT
Integracao Continua com CruiseControl
PPTX
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
PDF
Introdução a DevOps e Continuous delivery agileday
PDF
7Masters - Devops - Do legado ao ci cd em 7 minutos
Cultura DevOps e integração entre infra e devel
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Botando o Jenkins para rodar seus testes
Discutindo DevOps na pratica, por Danilo Sato
DevOps: princípios e práticas para a Entrega Contínua
DevOps - A Origem
DevOps no mundo real - QCON 2014
UAI Test - Introdução Prática ao Jenkins
Jenkins - livre-se da parte chata do Java
TDC2016POA | Trilha Infraestrutura - Produção nove vezes ao dia - Como um tim...
Jenkins
DevOps com Exemplos Práticos - QConRio 2014
Existe Vida além do FTP!
Precisamos falar sobre Testes de infraestrutura
Como convenci meu chefe que devíamos automatizar testes - Marcelo Soares - TD...
Ruby Conf Brasil 2015
Integracao Continua com CruiseControl
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Introdução a DevOps e Continuous delivery agileday
7Masters - Devops - Do legado ao ci cd em 7 minutos
Anúncio

Semelhante a Gitlab CI/CD com python (20)

PDF
Docker, jenkins e gradle para tomar o controle de sua entrega
PPT
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
PPTX
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
PPTX
Testes automatizados.pptx
PPTX
Sistemas de controle de versão
PDF
Apresentacao dev ops
PDF
Aula de git luiza code - Slides git e github
PDF
DevOps - Aula 4 - Testes Automatizados e Garantia de Qualidade E CI.pdf
PDF
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
PDF
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
PPTX
Construindo pipelines com Azure DevOps
PDF
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
PDF
Qualidade e Testes de Software
PDF
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
PPTX
Desconstruindo monolitos - Construindo microservicos em Delphi
PPTX
MiniCurso de Git e Github - UNIFG PIE
PDF
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
PDF
GIT Básico
PPSX
Bugs, DVCS e tools
PDF
DevOps & Docker com a stack Microsoft
Docker, jenkins e gradle para tomar o controle de sua entrega
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
Testes automatizados.pptx
Sistemas de controle de versão
Apresentacao dev ops
Aula de git luiza code - Slides git e github
DevOps - Aula 4 - Testes Automatizados e Garantia de Qualidade E CI.pdf
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Construindo pipelines com Azure DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Qualidade e Testes de Software
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
Desconstruindo monolitos - Construindo microservicos em Delphi
MiniCurso de Git e Github - UNIFG PIE
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
GIT Básico
Bugs, DVCS e tools
DevOps & Docker com a stack Microsoft
Anúncio

Último (19)

PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Apple Pippin Uma breve introdução. - David Glotz
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Aula04-Academia Heri- Tecnologia Geral 2025
Aula 18 - Manipulacao De Arquivos python
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Processos na gestão de transportes, TM100 Col18
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e liquidação no SAP Transportation Management, TM130 Col18
COBITxITIL-Entenda as diferença em uso governança TI
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...

Gitlab CI/CD com python

  • 1. GitLab CI/CD com Python 31º Python Floripa - Élysson MR - @elyssonmr
  • 2. Spoilers O que é continuous Integration? Conceitos utilizados no GitLab CI/CD Exemplo Conclusão
  • 3. Sobre Mim Élysson Mendes Rezende aka ElyssonMR #SoftPlayer Doteiro (pelo menos eu tento) Aspirante em arquitetura de Software
  • 4. Introdução Ajuda na melhoria da qualidade do código Manutenabilidade do sistema Encontrar problemas com antecedência Problemas para validação e deploy do sistema
  • 5. O que é Continuous Integration Tradução: Integração contínua Metodologia de desenvolvimento em que cada entrega de trabalho é integrada continuamente com o todo Usada para identificar com antecedência problemas no código, incompatibilidades e/ou impacto em partes não alteradas Previne que cada feature incorporada “não atrapalhe o todo”
  • 6. O que é Continuous Integration Detecta falhas rapidamente Abre portas para entregas em produção automatizadas Não necessita de alguém para manualmente executar os testes, validar o código e/ou gerar os artefatos necessários Possibilita entregas de valor mais ágeis (inclusive é recomendado pelo Scrum)
  • 7. O que é Continuous Delivery Tradução: Entrega contínua Habilidade de fazer com que todas as modificações entrem em produção ou nas mãos dos usuários Times de alto desempenho sempre fazem entregas frequentes O custo é baixo porque não teremos que delegar o delivery para alguém
  • 8. GitLab CI/CD Ferramenta de Continuous Integrations incorporada ao GitLab Permite diversas personalizações no processo Fortemente integrado com o ecossistema do GitLab (pages, Docker Registry e etc) Multiplataforma e multi linguagem o/
  • 9. GitLab CI/CD Fácil de aprender (utiliza arquivos YML) Escalável Suporta docker
  • 11. GitLab CI/CD Podemos fazer todo o processo de DevOPS de forma automatizada
  • 12. GitLab CI/CD - Conceitos -> Stages São os estágios do “pipeline” Permitem criar uma ordem de execução dentro do “pipeline” Os Jobs dentro de cada stage são executados em paralelo Os Jobs do próximo stage não executam antes que os jobs do stage anterior finalizem Para saber mais: GitLab Stages
  • 13. GitLab CI/CD - Conceitos -> Stages Exemplo de Stages:
  • 14. GitLab CI/CD - Conceitos -> Jobs São as tarefas que serão executadas em cada estágio Pode ser definido um número ilimitado de jobs por arquivo de configuração Os Jobs são escolhidos pelos Runners para serem executados É importante que cada Job seja executado sem depender e/ou interferir outro (lembrando que cada Stage executa seus jobs em paralelo) Para saber mais: GitLab Jobs
  • 15. GitLab CI/CD - Conceitos -> Jobs As palavras reservadas não podem ser utilizadas como nome dos Jobs Examplo:
  • 16. GitLab CI/CD - Conceitos -> Variáveis São como variáveis de ambiente nos Runners Podem ser definidas dentro dos arquivos de configuração (global ou local) Podem ser privadas (neste caso são definidas no projeto ou no grupo) Algumas variáveis são setadas pelo Runner quando o job é executado. Exemplo: $CI_COMMIT_TAG Para saber mais: GitLab Variables
  • 17. GitLab CI/CD - Conceitos -> Variáveis Exemplos:
  • 18. GitLab CI/CD - Conceitos -> Runners São máquina virtuais isoladas que executam os Jobs definidos nos Stages Podem ser configurados no Windows, Linux e Mac Os Runners podem ser específicos (executam uma tarefa por vez) ou compartilhados (podem executar múltiplas tarefas) É recomendado que não sejam instalados na mesma máquina que o GitLab
  • 19. GitLab CI/CD - Conceitos -> Runners Podemos registrar diversos Runners, no Kubernetes eles podem ser auto escaláveis Podemos adicionar tags nos Runners, por exemplo, um Runner com uma versão paga de algum software (ex: Structure101)
  • 20. GitLab CI/CD - Conceitos -> Runners Exemplos:
  • 21. Na Prática Projeto: Products API Vamos fazer um pequeno incremento em um projeto, depois iremos executar o pipeline de CI/CD e analisar o que esta sendo executado. Ao final iremos verificar a nova versão no Docker hub e também verificar que os testes unitários vão gerar um HTML que será disponibilizado no Pages do GitLab
  • 22. Conclusões Cada vez mais precisamos fazer entregas frequentes Quando um problema é detectado mais a frente em um processo ele acaba custando mais caro para ser corrigido Quanto mais passos automatizados melhor, muitos erros vão para produção devido a serem executados por humanos
  • 23. Para saber mais ;) https://docs.gitlab.com/ce/ci/yaml/README.html https://docs.gitlab.com/ce/ci/runners/README.html http://missaodevops.com.br/docs/gitlabci_home.html https://www.scrum.org/resources/use-scrum-continuous-delivery-build-right- thing https://continuousdelivery.com/
  • 25. Obrigado! Élysson MR Twitter: @elyssonmr Email: elyssonmr at gmail dot com Telegram: @elyssonmr LinkedIn: elyssonmr