Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Integração Contínua em Projetos PHP Utilizando ...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Igor Duarte Igor Duarte
December 14, 2019

Integração Contínua em Projetos PHP Utilizando Github Actions

Evento: TchêLinux Porto Alegre - 2019
Github Actions é um serviço relativamente novo, que permite a criação de workflows com jobs a serem executados a partir dos eventos disparados no Github.

Se o seu projeto já está no Github esse serviço irá favorecer muito a implementação de integração e entrega contínua sem que haja a necessidade de sair para outras soluções como: Jenkins, Travis, CircleCI.

Nessa talk veremos como funciona a integração contínua de um projeto PHP utilizando o Github Actions, e como funciona um workflow que realiza a execução de testes e ferramentas de analise de código que visam garantir que a qualidade e a entrega do código esteja de acordo com o esperado.

Avatar for Igor Duarte

Igor Duarte

December 14, 2019
Tweet

More Decks by Igor Duarte

Other Decks in Technology

Transcript

  1. • Sistemas de Informação - ULBRA • Software Developer •

    Developer há 6 anos • Coordenador da Comunidade • Palestrante e Escritor • Criador de ElePHPants • Gamer nas horas vagas ;) Igor Santos
  2. • Motivação • Github Actions ◦ Caso de Uso ◦

    Overview ◦ Implementação na Prática ▪ Definindo o Workflow ▪ Executando o Workflow • Dica Bagual Roteiro
  3. Motivação Github Actions é um serviço que permite a criação

    de workflows com jobs a serem executados a partir dos eventos disparados no Github. Favorecendo muito a implementação de integração e entrega contínua sem que haja a necessidade de sair para outras soluções como: Jenkins, Travis, CircleCI.
  4. • Criamos o diretório .github na raiz do projeto •

    Dentro dele criamos outro chamado workflows ◦ É aqui que definimos nossos workflows, como só temos um, criamos o arquivo main.yaml Definindo o Workflow
  5. • name: definimos o nome do nosso workflow • on:

    especificamos em quais eventos esse workflow será executado ◦ ele será executado sempre que um push ou um pull request for feito para o branch master Definindo o Workflow
  6. • jobs: é onde definimos os jobs a ser executados

    • build / name: o nome do job • runs-on: define qual ambiente a execução acontecerá • steps: é onde executamos as ações do job. ◦ um job pode executar N ações Definindo o Workflow
  7. • step / checkout: é a action checkout é padrão,

    sendo ela a responsável por clonar o projeto para o ambiente de execução • step / Setting up PHP: está step especifica um dockerfile contido em .github/actions/php que instalará a versão 7.3 do PHP que será utilizada para rodar os testes e validações. Definindo o Workflow dockerfile
  8. • step / Permissions: aqui concedemos permissões de leitura no

    diretório scripts para a execução de shell scripts • step / Installing Composer: instala as dependências • step / Running PHPstan: executa o phpstan • step / Running PHP Insights executa o php insights • step / Running Tests from Codeception executa a suit de testes de api Definindo o Workflow