SlideShare uma empresa Scribd logo
INTRODUÇÃO AO
GITHUB ACTIONS
TDC
CONNECTIONS
2021
GUILLAUME FALOURD
Software Developer - Zup Innovation
Automatize, personalize e execute seus
fluxos de trabalho de desenvolvimento
do software diretamente no seu
repositório GitHub.
Beta 10/2018
Lançamento 11/2019
POR QUE ?
TDC
CONNECTIONS
2021
Você pode usar, criar e compartilhar
ações para realizar qualquer trabalho
que desejar, incluindo CI/CD, bem como
combinar ações em um fluxo de trabalho
completamente personalizado.
COMO ?
TDC
CONNECTIONS
2021
ONDE ?
TDC
CONNECTIONS
2021
● Orientado por eventos
● Um evento pode acionar (trigger) automaticamente um ou mais
workflows (fluxos de trabalho)
● Cada workflow é composto de uma lista de jobs (trabalhos)
FUNCIONAMENTO
TDC
CONNECTIONS
2021
VISÃO GERAL
TDC
CONNECTIONS
2021
É um servidor que tem o aplicativo do executor de GitHub
Actions instalado. Você pode usar um runner (executor)
hospedado por GitHub, ou você pode hospedar o seu próprio.
RUNNER
TDC
CONNECTIONS
2021
● Cada step é composto de um conjunto de comandos
autônomos que realizam uma ação.
● É possível criar as suas próprias ações ou usar ações
criadas pela comunidade de GitHub.
ACTIONS ?
TDC
CONNECTIONS
2021
WORKFLOW: YAML
Source: Documentação Github Action
TDC
CONNECTIONS
2021
CONTEXTOS E EXPRESSÕES
● Env: Variáveis locais (workflow, job ou step levels)
● Secrets: Variáveis locais criptografadas (repo ou org level)
● Github Context: Variáveis relacionadas ao evento no github
(autor, eventId, repo, token, sha, owner…)
● Step Context: Outputs
● Job Context: Dependências (need)
TDC
CONNECTIONS
2021
AVAILABLE ACTIONS: GITHUB MARKETPLACE
TDC
CONNECTIONS
2021
CRIAR ACTIONS
● Container: Usando um Dockerfile
● Javascript: Desenvolvendo um código em Node.JS
● Composto: Usando uma lista de steps
Exemplo de arquivo action.yml
TDC
CONNECTIONS
2021
OPEN SOURCE
● 2000 minutos de workflow rodando por mês nos repositórios privados
● Uso ilimitado para repositórios públicos
TDC
CONNECTIONS
2021
DOCUMENTAÇÃO
● Completa (INGLÊS + PORTUGUÊS)
● Repositórios de base como referência + Marketplace
● Vídeos de tutoriais
● Github Community: https:/
/github.community/
TDC
CONNECTIONS
2021
REFERÊNCIAS
● POC: Exemplos de uso do Github Actions
https:/
/github.com/GuillaumeFalourd/poc-github-actions
● ACTIONS ÚTEIS: Exemplos de uso de actions globais
https:/
/github.com/GuillaumeFalourd/useful-actions
TDC
CONNECTIONS
2021
Software Developer - Zup Innovation
https://www.linkedin.com/in/guillaumefalourd/
@GuiFalourd
https://github.com/GuillaumeFalourd
GUILLAUME FALOURD
TDC
CONNECTIONS
2021

Mais conteúdo relacionado

Mais procurados

Desenvolvendo uma App multiplataforma compartilhando 90% do código
Desenvolvendo uma App multiplataforma compartilhando 90% do códigoDesenvolvendo uma App multiplataforma compartilhando 90% do código
Desenvolvendo uma App multiplataforma compartilhando 90% do código
Guilherme Heynemann Bruzzi
 
Jenkins e a Integração Contínua
Jenkins e a Integração ContínuaJenkins e a Integração Contínua
Jenkins e a Integração Contínua
Denis Vieira
 
Workshop react + adonis.js
Workshop react + adonis.jsWorkshop react + adonis.js
Workshop react + adonis.js
Denis Velrino
 
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função saveAulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Jorge Pires
 
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIsDevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
Júnior Porfirio
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
João Carlos Ottobboni
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front end
Douglas Matoso
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
Laís Lima
 
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoDevops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Thiago Ferreira
 
UAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsUAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao Jenkins
Stefan Teixeira
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
Letticia Nicoli
 
Automatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com JenkinsAutomatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com Jenkins
Felipe Santos
 
Botando o Jenkins para rodar seus testes
Botando o Jenkins para rodar seus testesBotando o Jenkins para rodar seus testes
Botando o Jenkins para rodar seus testes
kinow
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NET
José Corrêa Viana
 
Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Jenkins integrando e estendendo.
Jenkins integrando e estendendo.
Leonardo Kobus
 
Jenkins
JenkinsJenkins
Jenkins
Emmanuel Neri
 
Git alem do basico
Git alem do basicoGit alem do basico
Git alem do basico
Cristiano Cunha
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispor
s4nx
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
Luis Fernando Marques
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
Gustavo Lopes
 

Mais procurados (20)

Desenvolvendo uma App multiplataforma compartilhando 90% do código
Desenvolvendo uma App multiplataforma compartilhando 90% do códigoDesenvolvendo uma App multiplataforma compartilhando 90% do código
Desenvolvendo uma App multiplataforma compartilhando 90% do código
 
Jenkins e a Integração Contínua
Jenkins e a Integração ContínuaJenkins e a Integração Contínua
Jenkins e a Integração Contínua
 
Workshop react + adonis.js
Workshop react + adonis.jsWorkshop react + adonis.js
Workshop react + adonis.js
 
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função saveAulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
Aulas 6: usando o Jest para fazer mocks to Mongoose, testando a função save
 
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIsDevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front end
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoDevops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
 
UAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsUAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao Jenkins
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
Automatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com JenkinsAutomatização de Infraestrutura com Jenkins
Automatização de Infraestrutura com Jenkins
 
Botando o Jenkins para rodar seus testes
Botando o Jenkins para rodar seus testesBotando o Jenkins para rodar seus testes
Botando o Jenkins para rodar seus testes
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NET
 
Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Jenkins integrando e estendendo.
Jenkins integrando e estendendo.
 
Jenkins
JenkinsJenkins
Jenkins
 
Git alem do basico
Git alem do basicoGit alem do basico
Git alem do basico
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispor
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 

Semelhante a Introdução ao Github actions - TDC Connections

Interop git hubactions v2
Interop git hubactions v2Interop git hubactions v2
Interop git hubactions v2
Vinicius Moura
 
GitHub Actions
GitHub ActionsGitHub Actions
GitHub Actions
Vinicius Moura
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
Walmyr Carvalho
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Felipe Pedroso
 
Github actions
Github actionsGithub actions
Github actions
Hernand Azevedo
 
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Embarcados
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017
Denis Santos
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
Gilson Junior
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
Thiago Filadelfo
 
Simplificando seu DevOps com o Azure DevOps Project
Simplificando seu DevOps com o Azure DevOps ProjectSimplificando seu DevOps com o Azure DevOps Project
Simplificando seu DevOps com o Azure DevOps Project
Resource IT
 
Ambiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAmbiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google Cloud
Alvaro Viebrantz
 
São Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOpsSão Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOps
Guilherme Pereira Silva
 
Git & GitHub for beginners
Git & GitHub for beginnersGit & GitHub for beginners
Git & GitHub for beginners
Wendreo L. Fernandes
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
Claudinei Brito Junior
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
Leonardo Marcelino
 
Node.js in GitHub Actions
Node.js in GitHub ActionsNode.js in GitHub Actions
Node.js in GitHub Actions
Leandro Parazito
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GIT
Denis Santos
 
Worklight exemplo
Worklight exemploWorklight exemplo
Worklight exemplo
Percival Lucena
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
André Justi
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
antonio sérgio nogueira
 

Semelhante a Introdução ao Github actions - TDC Connections (20)

Interop git hubactions v2
Interop git hubactions v2Interop git hubactions v2
Interop git hubactions v2
 
GitHub Actions
GitHub ActionsGitHub Actions
GitHub Actions
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
 
Github actions
Github actionsGithub actions
Github actions
 
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
Webinar: Utilizando o Yocto Project para automatizar o desenvolvimento em Lin...
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
 
Simplificando seu DevOps com o Azure DevOps Project
Simplificando seu DevOps com o Azure DevOps ProjectSimplificando seu DevOps com o Azure DevOps Project
Simplificando seu DevOps com o Azure DevOps Project
 
Ambiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAmbiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google Cloud
 
São Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOpsSão Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOps
 
Git & GitHub for beginners
Git & GitHub for beginnersGit & GitHub for beginners
Git & GitHub for beginners
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Node.js in GitHub Actions
Node.js in GitHub ActionsNode.js in GitHub Actions
Node.js in GitHub Actions
 
Migração SVN para GIT
Migração SVN para GITMigração SVN para GIT
Migração SVN para GIT
 
Worklight exemplo
Worklight exemploWorklight exemplo
Worklight exemplo
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 

Introdução ao Github actions - TDC Connections

  • 1. INTRODUÇÃO AO GITHUB ACTIONS TDC CONNECTIONS 2021 GUILLAUME FALOURD Software Developer - Zup Innovation
  • 2. Automatize, personalize e execute seus fluxos de trabalho de desenvolvimento do software diretamente no seu repositório GitHub. Beta 10/2018 Lançamento 11/2019 POR QUE ? TDC CONNECTIONS 2021
  • 3. Você pode usar, criar e compartilhar ações para realizar qualquer trabalho que desejar, incluindo CI/CD, bem como combinar ações em um fluxo de trabalho completamente personalizado. COMO ? TDC CONNECTIONS 2021
  • 5. ● Orientado por eventos ● Um evento pode acionar (trigger) automaticamente um ou mais workflows (fluxos de trabalho) ● Cada workflow é composto de uma lista de jobs (trabalhos) FUNCIONAMENTO TDC CONNECTIONS 2021
  • 7. É um servidor que tem o aplicativo do executor de GitHub Actions instalado. Você pode usar um runner (executor) hospedado por GitHub, ou você pode hospedar o seu próprio. RUNNER TDC CONNECTIONS 2021
  • 8. ● Cada step é composto de um conjunto de comandos autônomos que realizam uma ação. ● É possível criar as suas próprias ações ou usar ações criadas pela comunidade de GitHub. ACTIONS ? TDC CONNECTIONS 2021
  • 9. WORKFLOW: YAML Source: Documentação Github Action TDC CONNECTIONS 2021
  • 10. CONTEXTOS E EXPRESSÕES ● Env: Variáveis locais (workflow, job ou step levels) ● Secrets: Variáveis locais criptografadas (repo ou org level) ● Github Context: Variáveis relacionadas ao evento no github (autor, eventId, repo, token, sha, owner…) ● Step Context: Outputs ● Job Context: Dependências (need) TDC CONNECTIONS 2021
  • 11. AVAILABLE ACTIONS: GITHUB MARKETPLACE TDC CONNECTIONS 2021
  • 12. CRIAR ACTIONS ● Container: Usando um Dockerfile ● Javascript: Desenvolvendo um código em Node.JS ● Composto: Usando uma lista de steps Exemplo de arquivo action.yml TDC CONNECTIONS 2021
  • 13. OPEN SOURCE ● 2000 minutos de workflow rodando por mês nos repositórios privados ● Uso ilimitado para repositórios públicos TDC CONNECTIONS 2021
  • 14. DOCUMENTAÇÃO ● Completa (INGLÊS + PORTUGUÊS) ● Repositórios de base como referência + Marketplace ● Vídeos de tutoriais ● Github Community: https:/ /github.community/ TDC CONNECTIONS 2021
  • 15. REFERÊNCIAS ● POC: Exemplos de uso do Github Actions https:/ /github.com/GuillaumeFalourd/poc-github-actions ● ACTIONS ÚTEIS: Exemplos de uso de actions globais https:/ /github.com/GuillaumeFalourd/useful-actions TDC CONNECTIONS 2021
  • 16. Software Developer - Zup Innovation https://www.linkedin.com/in/guillaumefalourd/ @GuiFalourd https://github.com/GuillaumeFalourd GUILLAUME FALOURD TDC CONNECTIONS 2021