Deploy automático em projeto PHP - PHPSPIMA 2016
-
Upload
felipe-klerk-signorini -
Category
Devices & Hardware
-
view
58 -
download
0
Transcript of Deploy automático em projeto PHP - PHPSPIMA 2016
![Page 1: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/1.jpg)
Deploy automático para projetos PHP
Diga adeus ao FTP
![Page 2: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/2.jpg)
Felipe Klerk SignoriniAnalista Sênior - NorteMKTSoluções em arquitetura, nível de infra estrutura e desenvolvimento.DevOps
![Page 3: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/3.jpg)
O que é deploy“Jogar código para o servidor”
Instalar o software em um ambiente.
- Transferência de arquivos
- Instalação manual
- Configuração de serviços
![Page 4: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/4.jpg)
Quanto tempo é perdido para apenas entregar aquilo que já foi definido como entregue.
![Page 5: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/5.jpg)
1. Qual o problema do FTP
➔ Sincronização git e servidor
➔ Downtime
➔ Army deliveryPrepare-se amanhã iremos fazer deploy.
➔ RollBack = 2 horas fora do ar
➔ Sobreposição de códigoTenho certeza que já tinha resolvido…
➔ LoadBalances/Autoscaling
![Page 6: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/6.jpg)
E quando dá errado ?
![Page 7: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/7.jpg)
Continuos integrationPráticas de automatização de testes unitários e
gerenciamento no versionamento de código.
Continuos DeliveryPráticas para automatizaçao de entrega em ambientes
para validação no negócio.
Continuos DeploymentAutomatização de entrega e processos no ambiente de
produção.
![Page 8: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/8.jpg)
Continuos XBacklog Código Build Testes Homologação Deploy Operação
Continuos Integration
Continuos Delivery
Continuos Deployment
![Page 9: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/9.jpg)
Continuos Integration
Continuos Delivery
Continuos Deployment
Desenvolvimento Stage Produção
Backlog Código Build Testes Homologação Deploy Operação
![Page 10: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/10.jpg)
Deploy é apenas uma das práticas de cada Continuos X.
![Page 11: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/11.jpg)
Update or die.Mudanças de paradigma em como controlar e conduzir entregas.
![Page 12: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/12.jpg)
Desenvolvimento Stage Produção
git push origin develop
Deploy DevDeploy Produção
$ dep deployer dev
![Page 13: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/13.jpg)
Develop
Stage
UAT - Acceptance Test
Production
GIT como controle
tag “2.1”
tag “1.9”
tag “2.0”
tag “1.9”
Branch - Dev
Branch - Master
Branch - UAT
Branch - Master
![Page 14: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/14.jpg)
Stage Produção
commit “função 1”
commit “função 2”
commit “função 3”
commit “função 4” Deploy
RollBacks
![Page 15: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/15.jpg)
Stage Produção
commit “função 1”
commit “função 2”
commit “função 3”
commit “função 4”
Deploy
RollBacks
![Page 16: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/16.jpg)
Stage Produção
commit “função 1”
commit “função 2”
commit “função 3”
commit “função 4”
Deploy
RollBacks
![Page 17: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/17.jpg)
Copiar os arquivos de para
Limpar a pasta de cache
Reiniciar o php-fpm
Enviar um push Para o New Relic
Automatização
git push origin master
![Page 18: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/18.jpg)
Como se faz issoForge/EnvoyerServiço Saas
AWS CodeDeployFunciona somente na amazon
Deployer PHPBiblioteca PHP
![Page 19: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/19.jpg)
AWS Code Deploy version: 0.0os: linuxfiles: - source: / destination: /var/www/ativo.com/public_html - source: codedeploy/configs/config.php destination: /var/www/ativo.com/permissions: - object: /var/www/ativo.com/public_html owner: application group: applicationhooks: BeforeInstall: - location: codedeploy/scripts/app_dependencies timeout: 300 runas: root ApplicationStart: - location: codedeploy/scripts/app_start timeout: 300 runas: root
- Integração fácil em ambiente AWS
- Integração Github e BitBucket
- Rápida instalação e implementação
- Monitoramento
- Controle de acesso
- HealthChecks
![Page 20: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/20.jpg)
PHP Deployer require 'recipe/symfony.php';
// Configuração do servidor server('prod', ‘ec2’, 22) ->user('ec2-user') ->forwardAgent() // por chave ->stage('production') ->env('deploy_path', '/var/www/ativo.com/');
set('repository', '[email protected]:org/ativo.git');
- Instalação via Composer
- Tarefas paralelas
- Escrito em PHP
- Gratuito
$ dep deploy production
![Page 21: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/21.jpg)
Forge/Envoyer
- Integração com o GiTHub e BitBucket
- Monitoramento
- HealthChecks
- GUI
![Page 22: Deploy automático em projeto PHP - PHPSPIMA 2016](https://reader035.fdocumentos.com/reader035/viewer/2022062902/58ee65011a28ab304c8b45db/html5/thumbnails/22.jpg)
linkedin.com/in/felipe-klerk-signorini
facebook.com/felipesignorini