SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
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!

Mais conteúdo relacionado

Mais procurados

Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Leonardo Kobus
 
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressFerramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressTiago Hillebrandt
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPMichael Douglas
 
Evitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadEvitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadDanilo Esser
 
Dev ops integração contínua com jenkins
Dev ops integração contínua com jenkinsDev ops integração contínua com jenkins
Dev ops integração contínua com jenkinsMichel Cordeiro
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispors4nx
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVCMichael Douglas
 
Integração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsIntegração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsGilmar Pupo
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Tiago Hillebrandt
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Erik Cruz
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvPedro Fernandes Vieira
 
Automação de tarefas com grunt
Automação de tarefas com gruntAutomação de tarefas com grunt
Automação de tarefas com gruntRafael Lyra
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Criciúma Dev
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátilWanderlei Silva do Carmo
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaFernando Boaglio
 
Workshop react + adonis.js
Workshop react + adonis.jsWorkshop react + adonis.js
Workshop react + adonis.jsDenis Velrino
 
São Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
São Paulo MuleSoft Meetup - Unwired API Led & Custom PolicesSão Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
São Paulo MuleSoft Meetup - Unwired API Led & Custom PolicesGuilherme Pereira Silva
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackAécio Pires
 
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...Edison Costa
 

Mais procurados (20)

Jenkins integrando e estendendo.
Jenkins integrando e estendendo.Jenkins integrando e estendendo.
Jenkins integrando e estendendo.
 
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressFerramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHP
 
Evitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadEvitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel Homestead
 
Dev ops integração contínua com jenkins
Dev ops integração contínua com jenkinsDev ops integração contínua com jenkins
Dev ops integração contínua com jenkins
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispor
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVC
 
Integração contínua em PHP com Jenkins
Integração contínua em PHP com JenkinsIntegração contínua em PHP com Jenkins
Integração contínua em PHP com Jenkins
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
Automação de tarefas com grunt
Automação de tarefas com gruntAutomação de tarefas com grunt
Automação de tarefas com grunt
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátil
 
Jenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do JavaJenkins - livre-se da parte chata do Java
Jenkins - livre-se da parte chata do Java
 
Workshop react + adonis.js
Workshop react + adonis.jsWorkshop react + adonis.js
Workshop react + adonis.js
 
São Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
São Paulo MuleSoft Meetup - Unwired API Led & Custom PolicesSão Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
São Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
 
Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStack
 
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
 
Webpack
Webpack Webpack
Webpack
 

Semelhante a Por que jenkins se posso usar deployer php

Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackAécio Pires
 
1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...
1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...
1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...Zabbix BR
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHPLuiz Messias
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSThiago Rodrigues
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
Boas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalBoas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalRenato Vasconcellos Gomes
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017Vitor Mattos
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Docker - Colocando aplicações em produção
Docker  - Colocando aplicações em produçãoDocker  - Colocando aplicações em produção
Docker - Colocando aplicações em produçãoRafael Chiavegatto
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsLeonardo Comelli
 
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...tdc-globalcode
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Luís Cobucci
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPRodrigo Dos Santos
 
Existe Vida além do FTP!
Existe Vida além do FTP! Existe Vida além do FTP!
Existe Vida além do FTP! Gustavo Pereira
 
Desenvolvendo plugin para WordPress
Desenvolvendo plugin para WordPressDesenvolvendo plugin para WordPress
Desenvolvendo plugin para WordPressVagner Soletti
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Luís Cobucci
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenterJoomla! do desktop ao datacenter
Joomla! do desktop ao datacenterPaulino Michelazzo
 
O WordPress é seguro. Inseguro é você.
O WordPress é seguro. Inseguro é você.O WordPress é seguro. Inseguro é você.
O WordPress é seguro. Inseguro é você.wordcamppoa
 

Semelhante a Por que jenkins se posso usar deployer php (20)

Gerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStackGerenciando o Zabbix com o SaltStack
Gerenciando o Zabbix com o SaltStack
 
1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...
1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...
1º Meetup Zabbix Meetup do Recife: Aécio Pires - Gerenciando Zabbix com o Sal...
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHP
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSS
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
Boas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalBoas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupal
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Docker - Colocando aplicações em produção
Docker  - Colocando aplicações em produçãoDocker  - Colocando aplicações em produção
Docker - Colocando aplicações em produção
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
TDC2018SP | Trilha Banco de Dados - Transformacao do DBA. O que Agile e DevOp...
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
 
Existe Vida além do FTP!
Existe Vida além do FTP! Existe Vida além do FTP!
Existe Vida além do FTP!
 
Desenvolvendo plugin para WordPress
Desenvolvendo plugin para WordPressDesenvolvendo plugin para WordPress
Desenvolvendo plugin para WordPress
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Joomla! do desktop ao datacenter
Joomla! do desktop ao datacenterJoomla! do desktop ao datacenter
Joomla! do desktop ao datacenter
 
O WordPress é seguro. Inseguro é você.
O WordPress é seguro. Inseguro é você.O WordPress é seguro. Inseguro é você.
O WordPress é seguro. Inseguro é você.
 

Por que jenkins se posso usar deployer php

  • 1. Por que Jenkins se 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
  • 5. Livro: Zend Certified Engineer - Descomplicando a certificação PHP.
  • 6. Pacote oficial Laravel para Pagseguro: https://github.com/michaeldouglas/larav el-pagseguro
  • 7. Laravel Conference Brasil Todos vocês ganharam 15% de desconto na Laravel Conference Brasil 2017. http://laraconfbrasil.com.br
  • 8. 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
  • 9. Onde, talvez tudo se inicia ?
  • 10. 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!
  • 11.
  • 12. Teste é de comer ?
  • 13.
  • 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 ponto a ser discutido!
  • 17. 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
  • 18. Build
  • 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 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
  • 21.
  • 22. 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
  • 23. 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.
  • 24.
  • 25. Será que existe uma maneira simples de implementar deploy na minha empresa ou projeto ?
  • 26.
  • 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 monitoramento de erros em fluxos de trabalho de entrega contínua. Free para projetos pessoais e protótipos.
  • 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!
  • 41. Perguntas ? Meus contatos novamente: ◉ @mdba_araujo ◉ michaeldouglas010790@gmail.com Obrigado!