PHP e DevOps
De Localhost a Produção com
Segurança e Confiabilidade
Roberto Beraldo
PHP Conference Brasil | Dezembro / 2024
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Sobre Mim
Desenvolvedor de Software
Engenheiro DevOps
Desde 2009
Autor e Instrutor de Cursos Online
Roberto Beraldo
Fóruns
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Objetivo
Apresentar ferramentas para:
no ciclo de vida de aplicações PHP
Segurança
Con
fi
abilidade
Padronização
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Problemas Comuns
Erros de sintaxe
Variáveis não de
fi
nidas
Funções não de
fi
nidas
Despadronização
Reintrodução de
bugs já corrigidos
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Soluções
Linting
Encontra erros de sintaxe no
código PHP.
Análise Estática
Detecta problemas complexos
sem executar o código.
Estilo e Padronização
Garante um código limpo,
consistente e padronizado.
Testes Automatizados
Valida funcionalidades e previne
regressões.
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
API Exemplo - Rotas
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
API Exemplo - PostsController
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
API Exemplo - composer.json
composer scripts
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
API Exemplo - Index
curl "http://localhost:8000/api/posts" 2> /dev/null | jq
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
API Exemplo - Store
curl -X POST "http://localhost:8000/api/posts" 2> /dev/null | jq
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Linting - Instalação
PHPLint https://github.com/overtrue/phplint
Instalação:
composer require overtrue/phplint ^9.5 —-dev
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Linting - Con
fi
guração
Arquivo .phplint.yml
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Linting - Execução OK
$ composer phplint
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Linting - Execução ERRO
$ composer phplint
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Padronização - Instalação
PHP Code Sni
ff
er https://github.com/PHPCSStandards/PHP_CodeSni
ff
er
Instalação:
composer require “squizlabs/php_codesniffer=*" —-dev
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Padronização - Con
fi
guração
Arquivo .phpcs.xml
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Padronização - Execução OK
$ composer phpcs
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Padronização - Execução Erro
$ composer phpcs
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Análise Estática - Instalação
PHPStan: https://github.com/phpstan/phpstan
Instalação:
composer require phpstan/phpstan —-dev
composer require vimeo/psalm —-dev
Psalm: https://github.com/vimeo/psalm
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Análise Estática - Con
fi
guração
psalm.xml phpstan.neon
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Análise Estática - Execução OK
psalm phpstan
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Análise Estática - Código Alterado
Sem tipo de retorno
Variável não de
fi
nida
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Análise Estática - Execução Erro
psalm phpstan
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Testes Automatizados - Instalação
Pest: https://github.com/pestphp/pest
Instalação:
composer require pestphp/pest --dev --with-all-dependencies
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Testes Automatizados - Test Cases
tests/Feature/PostsTest.php
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Testes Automatizados - Execução OK
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Testes Automatizados - Bug
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Testes Automatizados - Execução ERRO
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Sucesso Total!
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Mas
Como
Automatizar?
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Como automatizar?
Localhost Pipelines CI / CD
Shell Script
Git Hooks
Github Actions
Gitlab CI / CD
Jenkins
pre-commit
pre-push
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Shell Script
run-code-check.sh
$ chmod +x run-code-check.sh
$ ./run-code-check.sh
Mas ainda não
é automatizado
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Git hooks
Pasta .git/hooks
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Git hooks
pre-commit X pre-push
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Pipeline CI / CD
.github/workflows/ci.yml
Github Actions
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Pipeline CI / CD Github Actions
Execução da pipeline
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Pipeline CI / CD Github Actions
Execução da pipeline
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Resumo
PHP Lint
Linting
PHP Code Sni
ff
er (PHPCS)
Padronização
PHPStan e Psalm
Análise Estática
Pest
Testes Automatizados
Automação
Localhost
Pipelines CI / CD
Shell Script
Git hooks
Github Actions
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Agradecimentos
PHP Conference Brasil
Galvão, Anderson e equipe organizadora
Comunidade PHP
Mantenedores da linguagem e de ferramentas open-source
Congressistas
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Agradecimentos
Convite especial
Matricule-se com desconto
PHPCONF2024
cupom
shellscriptparadevops.com.br
Roberto Beraldo | Dezembro de 2024 | PHP Conference Brasil
Onde me encontrar
Blogs
PHPCONF2024
cupom
shellscriptparadevops.com.br
Blog do Beraldo rberaldo.com.br
Beraldo’s Blog beraldo.dev
Linkedin linkedin.com/in/rberaldo
Instagram @beraldo
Github @beraldo Repositório
usado na palestra

PHP e DevOps: De Localhost a Produção com Segurança e Confiabilidade

  • 1.
    PHP e DevOps DeLocalhost a Produção com Segurança e Confiabilidade Roberto Beraldo PHP Conference Brasil | Dezembro / 2024
  • 2.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Sobre Mim Desenvolvedor de Software Engenheiro DevOps Desde 2009 Autor e Instrutor de Cursos Online Roberto Beraldo Fóruns
  • 3.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Objetivo Apresentar ferramentas para: no ciclo de vida de aplicações PHP Segurança Con fi abilidade Padronização
  • 4.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Problemas Comuns Erros de sintaxe Variáveis não de fi nidas Funções não de fi nidas Despadronização Reintrodução de bugs já corrigidos
  • 5.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Soluções Linting Encontra erros de sintaxe no código PHP. Análise Estática Detecta problemas complexos sem executar o código. Estilo e Padronização Garante um código limpo, consistente e padronizado. Testes Automatizados Valida funcionalidades e previne regressões.
  • 6.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil API Exemplo - Rotas
  • 7.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil API Exemplo - PostsController
  • 8.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil API Exemplo - composer.json composer scripts
  • 9.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil API Exemplo - Index curl "http://localhost:8000/api/posts" 2> /dev/null | jq
  • 10.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil API Exemplo - Store curl -X POST "http://localhost:8000/api/posts" 2> /dev/null | jq
  • 11.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Linting - Instalação PHPLint https://github.com/overtrue/phplint Instalação: composer require overtrue/phplint ^9.5 —-dev
  • 12.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Linting - Con fi guração Arquivo .phplint.yml
  • 13.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Linting - Execução OK $ composer phplint
  • 14.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Linting - Execução ERRO $ composer phplint
  • 15.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Padronização - Instalação PHP Code Sni ff er https://github.com/PHPCSStandards/PHP_CodeSni ff er Instalação: composer require “squizlabs/php_codesniffer=*" —-dev
  • 16.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Padronização - Con fi guração Arquivo .phpcs.xml
  • 17.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Padronização - Execução OK $ composer phpcs
  • 18.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Padronização - Execução Erro $ composer phpcs
  • 19.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Análise Estática - Instalação PHPStan: https://github.com/phpstan/phpstan Instalação: composer require phpstan/phpstan —-dev composer require vimeo/psalm —-dev Psalm: https://github.com/vimeo/psalm
  • 20.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Análise Estática - Con fi guração psalm.xml phpstan.neon
  • 21.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Análise Estática - Execução OK psalm phpstan
  • 22.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Análise Estática - Código Alterado Sem tipo de retorno Variável não de fi nida
  • 23.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Análise Estática - Execução Erro psalm phpstan
  • 24.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Testes Automatizados - Instalação Pest: https://github.com/pestphp/pest Instalação: composer require pestphp/pest --dev --with-all-dependencies
  • 25.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Testes Automatizados - Test Cases tests/Feature/PostsTest.php
  • 26.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Testes Automatizados - Execução OK
  • 27.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Testes Automatizados - Bug
  • 28.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Testes Automatizados - Execução ERRO
  • 29.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Sucesso Total!
  • 30.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Mas Como Automatizar?
  • 31.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Como automatizar? Localhost Pipelines CI / CD Shell Script Git Hooks Github Actions Gitlab CI / CD Jenkins pre-commit pre-push
  • 32.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Shell Script run-code-check.sh $ chmod +x run-code-check.sh $ ./run-code-check.sh Mas ainda não é automatizado
  • 33.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Git hooks Pasta .git/hooks
  • 34.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Git hooks pre-commit X pre-push
  • 35.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Pipeline CI / CD .github/workflows/ci.yml Github Actions
  • 36.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Pipeline CI / CD Github Actions Execução da pipeline
  • 37.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Pipeline CI / CD Github Actions Execução da pipeline
  • 38.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Resumo PHP Lint Linting PHP Code Sni ff er (PHPCS) Padronização PHPStan e Psalm Análise Estática Pest Testes Automatizados Automação Localhost Pipelines CI / CD Shell Script Git hooks Github Actions
  • 39.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Agradecimentos PHP Conference Brasil Galvão, Anderson e equipe organizadora Comunidade PHP Mantenedores da linguagem e de ferramentas open-source Congressistas
  • 40.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Agradecimentos Convite especial Matricule-se com desconto PHPCONF2024 cupom shellscriptparadevops.com.br
  • 41.
    Roberto Beraldo |Dezembro de 2024 | PHP Conference Brasil Onde me encontrar Blogs PHPCONF2024 cupom shellscriptparadevops.com.br Blog do Beraldo rberaldo.com.br Beraldo’s Blog beraldo.dev Linkedin linkedin.com/in/rberaldo Instagram @beraldo Github @beraldo Repositório usado na palestra