Por que Jenkins se
posso usar
Deployer PHP?
Meu nome é Michael Douglas - O DEV
Criador da Laravel PagSeguro, idealizador do evento Laravel Conference Brasil e
Engenheiro de Softwares na empresa Atitude.
Olá!
Criador e Mantenedor
▷ http://www.facebook.com.br/groups/silexbrasil
▷ http://www.facebook.com.br/groups/laravelsp
▷ http://www.facebook.com.br/groups/phingbrasil
▷ http://www.facebook.com.br/groups/sonicpibrasil
▷ http://www.facebook.com.br/groups/doctrinebrasil
https://github.com/michaeldouglas
https://twitter.com/mdba_araujo
https://facebook.com/mdba.araujo
Livro: Zend Certified Engineer -
Descomplicando a certificação PHP.
Pacote oficial Laravel para Pagseguro:
https://github.com/michaeldouglas/larav
el-pagseguro
Laravel Conference Brasil
Todos vocês ganharam 15% de desconto
na Laravel Conference Brasil 2017.
http://laraconfbrasil.com.br
Integração Contínua
A integração contínua é uma prática de
desenvolvimento de software de DevOps em que
os desenvolvedores, com frequência, juntam suas
alterações de código em um repositório central.
Depois disso, criações e testes são executados.
https://aws.amazon.com/pt/devops/continuous-integration
Onde, talvez tudo se
inicia ?
GIT
Git é um sistema de controle de versão de
arquivos. Através deles podemos desenvolver
projetos no qual diversas pessoas podem
contribuir simultaneamente no mesmo projeto!
Teste é de comer ?
PHP Unit
PHPUnit é um framework de testes para PHP e
disso você já deve estar cansado de saber.
Para instalar de forma simples basta ter no
composer.json:
"require-dev": { "phpunit/phpunit": "4.0.*" }
Show Me
The Code - PHPUnit Simple!
Build um ponto a ser discutido!
Build
Build, no contexto do desenvolvimento de
software, é uma versão "compilada" de um
software ou parte dele que contém um conjunto
de recursos que poderão integrar o produto final.
https://pt.wikipedia.org/wiki/Build
Build
Deploy
Deploy (implantação) é a fase do ciclo de vida de
um software, que corresponde textualmente à
passagem do software para a produção.
https://pt.wikipedia.org/wiki/Implantacao_de_software
O processo manual de arrastar e soltar via
softwares de FTP com FileZilla pode ser perigoso.
Existe nesses casos a integração contínua manual:
Reescrever a pasta para:
Path_data_hora_minuto_segundos. Em seguida
realiza o Upload e pronto!
Processo Manual - Exemplo FTP
O processo manual de realizar um PULL em
produção pode ser perigoso. Existe nesses casos
a integração contínua manual via GIT: Realiza um
git pull origin master, em seguida verifica em
produção e então está concluído!
Mais um processo manual o GIT
Política de Deploy
Política de Deploy (implantação) é nesse
momento que você define as regras para subir
uma nova versão do seu Software.
Será que existe uma
maneira simples de
implementar deploy na
minha empresa ou
projeto ?
PHP Deployer
Basicamente é uma ferramenta de deploy, fácil de
utilizar e suporta muitos Frameworks, tais como:
Porque PHP Deployer ?
Basicamente por esses motivos:
Ele é rápido É modular
Mantém o
código
limpo
Rollbacks
simples
PHP Deployer - Instalação
A instalação é bem simples, basta executar:
◉ curl -LO https://deployer.org/deployer.phar
◉ mv deployer.phar /usr/local/bin/dep
◉ chmod +x /usr/local/bin/dep
O que isso faz? - Vamos ao terminal!
PHP Deployer - Iniciando
Agora para iniciar o deploy do seu projeto basta
executar:
◉ dep init
○ Faz com que o Deployer crie o arquivo: deploy.php
PHP Deployer - Configurações
◉ dep init
○ Como explicado contém o passo a passo para deploy
da aplicação!
○ Vamos ao script deploy.php ver essas configurações.
Quem quiser ver também clique aqui:
PHP Deployer - Tarefas
Um ponto chave do seu deploy, pode ser as
tarefas. Para criar é simples:
$ dep my_task
PHP Deployer - Servidores
PHP Deployer - Recipes
◉ Receitas
○ Receitas basicamente são funções prontas para o seu
deploy!
○ Instalação:
■ composer require --dev deployer/recipes
■ require 'recipe/slack.php';
○ Lista de receitas ->
PHP Deployer - Recipes
◉ Lista de receitas:
○ bugsnag - require 'recipe/bugsnag.php';
○ cachetool - require 'recipe/cachetool.php';
○ cloudflare - require'recipe/cloudflare.php';
○ hipchat - require 'recipe/hipchat.php';
○ newrelic - require 'recipe/newrelic.php';
○ npm - require 'recipe/npm.php';
○ phinx - require 'recipe/phinx.php'
○ rabbit - require 'recipe/rabbit.php';
○ rollbar - require 'recipe/rollbar.php';
○ rsync - require 'recipe/rsync.php';
○ sentry - require 'recipe/sentry.php';
○ slack - require 'recipe/slack.php';
○ yarn - require 'recipe/yarn.php';
“Ferramenta para monitoramento de erros em fluxos de trabalho de
entrega contínua. Free para projetos pessoais e protótipos.
Show Me
Rollbar - PHP !
PHP Deployer - Recipes
◉ Iremos utilizar 2 receitas:
require
'vendor/deployer/recipes/recipe/slack.php';
set('slack', [ 'token' => 'Token', 'team' =>
'team', 'app' => 'app', ]);
require
'vendor/deployer/recipes/recipe/slack.php';
set('rollbar', [ 'access_token' =>
"a5a20d133b60417d91f225bdcbd78bb8" ]);
Show Me
Deploy - Digital Ocean!
Avalie a palestra:
https://avalie.se/phprs
Perguntas ?
Meus contatos novamente:
◉ @mdba_araujo
◉ michaeldouglas010790@gmail.com
Obrigado!

Por que jenkins se posso usar deployer php

  • 1.
    Por que Jenkinsse posso usar Deployer PHP?
  • 2.
    Meu nome éMichael Douglas - O DEV Criador da Laravel PagSeguro, idealizador do evento Laravel Conference Brasil e Engenheiro de Softwares na empresa Atitude. Olá!
  • 3.
    Criador e Mantenedor ▷http://www.facebook.com.br/groups/silexbrasil ▷ http://www.facebook.com.br/groups/laravelsp ▷ http://www.facebook.com.br/groups/phingbrasil ▷ http://www.facebook.com.br/groups/sonicpibrasil ▷ http://www.facebook.com.br/groups/doctrinebrasil
  • 4.
  • 5.
    Livro: Zend CertifiedEngineer - Descomplicando a certificação PHP.
  • 6.
    Pacote oficial Laravelpara Pagseguro: https://github.com/michaeldouglas/larav el-pagseguro
  • 7.
    Laravel Conference Brasil Todosvocês ganharam 15% de desconto na Laravel Conference Brasil 2017. http://laraconfbrasil.com.br
  • 8.
    Integração Contínua A integraçãocontínua é uma prática de desenvolvimento de software de DevOps em que os desenvolvedores, com frequência, juntam suas alterações de código em um repositório central. Depois disso, criações e testes são executados. https://aws.amazon.com/pt/devops/continuous-integration
  • 9.
    Onde, talvez tudose inicia ?
  • 10.
    GIT Git é umsistema de controle de versão de arquivos. Através deles podemos desenvolver projetos no qual diversas pessoas podem contribuir simultaneamente no mesmo projeto!
  • 12.
    Teste é decomer ?
  • 14.
    PHP Unit PHPUnit éum framework de testes para PHP e disso você já deve estar cansado de saber. Para instalar de forma simples basta ter no composer.json: "require-dev": { "phpunit/phpunit": "4.0.*" }
  • 15.
    Show Me The Code- PHPUnit Simple!
  • 16.
    Build um pontoa ser discutido!
  • 17.
    Build Build, no contextodo desenvolvimento de software, é uma versão "compilada" de um software ou parte dele que contém um conjunto de recursos que poderão integrar o produto final. https://pt.wikipedia.org/wiki/Build
  • 18.
  • 19.
    Deploy Deploy (implantação) éa fase do ciclo de vida de um software, que corresponde textualmente à passagem do software para a produção. https://pt.wikipedia.org/wiki/Implantacao_de_software
  • 20.
    O processo manualde arrastar e soltar via softwares de FTP com FileZilla pode ser perigoso. Existe nesses casos a integração contínua manual: Reescrever a pasta para: Path_data_hora_minuto_segundos. Em seguida realiza o Upload e pronto! Processo Manual - Exemplo FTP
  • 22.
    O processo manualde realizar um PULL em produção pode ser perigoso. Existe nesses casos a integração contínua manual via GIT: Realiza um git pull origin master, em seguida verifica em produção e então está concluído! Mais um processo manual o GIT
  • 23.
    Política de Deploy Políticade Deploy (implantação) é nesse momento que você define as regras para subir uma nova versão do seu Software.
  • 25.
    Será que existeuma maneira simples de implementar deploy na minha empresa ou projeto ?
  • 27.
    PHP Deployer Basicamente éuma ferramenta de deploy, fácil de utilizar e suporta muitos Frameworks, tais como:
  • 28.
    Porque PHP Deployer? Basicamente por esses motivos: Ele é rápido É modular Mantém o código limpo Rollbacks simples
  • 29.
    PHP Deployer -Instalação A instalação é bem simples, basta executar: ◉ curl -LO https://deployer.org/deployer.phar ◉ mv deployer.phar /usr/local/bin/dep ◉ chmod +x /usr/local/bin/dep O que isso faz? - Vamos ao terminal!
  • 30.
    PHP Deployer -Iniciando Agora para iniciar o deploy do seu projeto basta executar: ◉ dep init ○ Faz com que o Deployer crie o arquivo: deploy.php
  • 31.
    PHP Deployer -Configurações ◉ dep init ○ Como explicado contém o passo a passo para deploy da aplicação! ○ Vamos ao script deploy.php ver essas configurações. Quem quiser ver também clique aqui:
  • 32.
    PHP Deployer -Tarefas Um ponto chave do seu deploy, pode ser as tarefas. Para criar é simples: $ dep my_task
  • 33.
    PHP Deployer -Servidores
  • 34.
    PHP Deployer -Recipes ◉ Receitas ○ Receitas basicamente são funções prontas para o seu deploy! ○ Instalação: ■ composer require --dev deployer/recipes ■ require 'recipe/slack.php'; ○ Lista de receitas ->
  • 35.
    PHP Deployer -Recipes ◉ Lista de receitas: ○ bugsnag - require 'recipe/bugsnag.php'; ○ cachetool - require 'recipe/cachetool.php'; ○ cloudflare - require'recipe/cloudflare.php'; ○ hipchat - require 'recipe/hipchat.php'; ○ newrelic - require 'recipe/newrelic.php'; ○ npm - require 'recipe/npm.php'; ○ phinx - require 'recipe/phinx.php' ○ rabbit - require 'recipe/rabbit.php'; ○ rollbar - require 'recipe/rollbar.php'; ○ rsync - require 'recipe/rsync.php'; ○ sentry - require 'recipe/sentry.php'; ○ slack - require 'recipe/slack.php'; ○ yarn - require 'recipe/yarn.php';
  • 36.
    “Ferramenta para monitoramentode erros em fluxos de trabalho de entrega contínua. Free para projetos pessoais e protótipos.
  • 37.
  • 38.
    PHP Deployer -Recipes ◉ Iremos utilizar 2 receitas: require 'vendor/deployer/recipes/recipe/slack.php'; set('slack', [ 'token' => 'Token', 'team' => 'team', 'app' => 'app', ]); require 'vendor/deployer/recipes/recipe/slack.php'; set('rollbar', [ 'access_token' => "a5a20d133b60417d91f225bdcbd78bb8" ]);
  • 39.
    Show Me Deploy -Digital Ocean!
  • 40.
  • 41.
    Perguntas ? Meus contatosnovamente: ◉ @mdba_araujo ◉ michaeldouglas010790@gmail.com Obrigado!