SlideShare uma empresa Scribd logo
1 de 36
Ambiente de desenvolvimento
com Vagrant, Git, e Deploy.
Edison Costa
Edison Pereira da Costa
- CTO da AgiusCloud.
- Professor e Programador com 30 anos de experiência.
- Iniciou sua carreira com a Linguagem COBOL e hoje dedica a maior parte
de seu tempo em otimizar servidores Linux, mesmo programando
ativamente em PHP.
- EasyExpert pela EasyEngine
Email: edison@agiuscloud.com
Github: edisoncosta
PHP CONFERENCE BRASIL - 2016
github.com/edisoncosta/phpconf2016
Cenários
PHP CONFERENCE BRASIL - 2016
Solitário
PHP CONFERENCE BRASIL - 2016
Equipe Remota
PHP CONFERENCE BRASIL - 2016
Equipe Local
PHP CONFERENCE BRASIL - 2016
PREPARANDO O AMBIENTE
PHP CONFERENCE BRASIL - 2016
Oracle VirtualBox
Instalação:
Versão > 4.1.x and < 5.1.x
PHP CONFERENCE BRASIL - 2016
Vagrant (v1.9.1)
Instalação:
(32 and 64-bit)
• Windows
• OSX
• Debian/Ubuntu
• CentOS
PHP CONFERENCE BRASIL - 2016
git bash (v2.11.0)
Instalação:
(32 and 64-bit)
• Windows
PHP CONFERENCE BRASIL - 2016
SourceTree (v1.9.9.20)
Instalação:
(32 and 64-bit)
• Windows
• OS X
PHP CONFERENCE BRASIL - 2016
Exemplos de Estrutura
Máquinas Virtuais:
E:/vagrant/debian8
E:/vagrant/home
C:/server/ubuntu14
C:/server/agencia
Projetos:
E:/projetos/projeto1
E:/projetos/projeto2
C:/jobs/clienteA
C:/jobs/clienteB
PHP CONFERENCE BRASIL - 2016
INICIANDO OS TRABALHOS
PHP CONFERENCE BRASIL - 2016
Acessar o GitBash (terminal) como Administrador:
Criar as pastas da Máquina Virtual e de trabalho.
Pasta da Máquina Virtual
$ mkdir server
$ cd server
$ mkdir debian8
Pasta de Trabalho (App)
$ mkdir Jobs
$ cd agiuscloud
$ mkdir agiuscloud
PHP CONFERENCE BRASIL - 2016
Box
Máquina Virtual base
Add: Vagrant add box ADDRESS
serverdebian8>vagrant add box debian/jessie64
List: Vagrant box list
serverdebian8>vagrant box list
Remove: Vagrant box remove NAME
serverdebian8>vagrant box remove debian/jessie64
PHP CONFERENCE BRASIL - 2016
https://atlas.hashicorp.com/boxes/search
PHP CONFERENCE BRASIL - 2016
Inicializar o diretório atual para ser um ambiente Vagrant e criar o arquivo Vagrantfile.
serverdebian8>vagrant init
Editar o arquivo Vagrantfile.
PHP CONFERENCE BRASIL - 2016
EasyEngine
PHP CONFERENCE BRASIL - 2016
Arquivo installserver.sh
PHP CONFERENCE BRASIL - 2016
Halt: Desligar sua VM
serverdebian8>vagrant halt
Reload: Reiniciar sua VM
serverdebian8>vagrant reload
Suspend: Suspende sua VM
serverdebian8>vagrant suspend
destroy: Remove sua VM
serverdebian8>vagrant destroy
Up: Iniciar sua VM
serverdebian8>vagrant up
Gerenciar a Máquina Virtual
PHP CONFERENCE BRASIL - 2016
Acessar o terminal de sua Máquina Virtual
serverdebian8>vagrant ssh
Acesso rede local
PHP CONFERENCE BRASIL - 2016
Acesso remoto
1
/server/debian8>vagrant share --http 8003 --https 4303
/server/debian8/>vagrant login
2
3
PHP CONFERENCE BRASIL - 2016
https://atlas.hashicorp.com/account/new
Instalando a aplicação
ee site create dev.agiuscloud.com --mysql (--hhvm ou –php7)
Editar a configuração
ee site edit dev.agiuscloud.com
Excluir a aplicação
ee site delete dev.agiuscloud.com
PHP CONFERENCE BRASIL - 2016
Git / Git Flow
PHP CONFERENCE BRASIL - 2016
PHP CONFERENCE BRASIL - 2016
Git Repositório
PHP CONFERENCE BRASIL - 2016
PHP CONFERENCE BRASIL - 2016
Deploy
PHP CONFERENCE BRASIL - 2016
1 – Criar o VPS em sua hosting de preferência.
2 – Acessar sua VPS com o PuTTY.
3 – Instalar os Servidores/Serviços com EasyEngine
$ sudo wget -qO ac git.io/v1aNA && sudo bash ac
4 – Instalar a aplicação.
$ ee site create agiuscloud.com --mysql (--hhvm ou –php7)
5 – Fazer o primeiro deploy.
PHP CONFERENCE BRASIL - 2016
PHP CONFERENCE BRASIL - 2016
PHP CONFERENCE BRASIL - 2016
PHP CONFERENCE BRASIL - 2016
PHP CONFERENCE BRASIL - 2016
PHP CONFERENCE BRASIL - 2016
PHP CONFERENCE BRASIL - 2016
Muito Obrigado.
Dúvidas?
PHP CONFERENCE BRASIL - 2016

Mais conteúdo relacionado

Mais procurados

Quercus - Running PHP over Java
Quercus - Running PHP over Java Quercus - Running PHP over Java
Quercus - Running PHP over Java Jeff Prestes
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsWaldyr Felix
 
Quem tem medo do terminal?
Quem tem medo do terminal?Quem tem medo do terminal?
Quem tem medo do terminal?Rafael Funchal
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsWaldyr Felix
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
 
Traduções no WordPress
Traduções no WordPressTraduções no WordPress
Traduções no WordPressBreno Alves
 
Programando php com mais segurança
Programando php com mais segurançaProgramando php com mais segurança
Programando php com mais segurançaMichael Douglas
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxThiago Paes
 
Oficina de WordPress #fisl14
Oficina de WordPress #fisl14Oficina de WordPress #fisl14
Oficina de WordPress #fisl14Tatiane Pires
 
Desenvolvimento web no Linux
Desenvolvimento web no LinuxDesenvolvimento web no Linux
Desenvolvimento web no LinuxEduardo Rozario
 
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIConfigurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIRafael Funchal
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Renato Groff
 
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...Vinícius Lourenço
 
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIConfigurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIwordcamppoa
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIRudá Almeida
 
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Bruno Rodrigo S. Souza
 
VPN usando OPENVPN - Rafael Padilha da silva(DELETE)
VPN usando OPENVPN - Rafael Padilha da silva(DELETE)VPN usando OPENVPN - Rafael Padilha da silva(DELETE)
VPN usando OPENVPN - Rafael Padilha da silva(DELETE)Tchelinux
 

Mais procurados (20)

PHP com Docker
PHP com DockerPHP com Docker
PHP com Docker
 
Quercus - Running PHP over Java
Quercus - Running PHP over Java Quercus - Running PHP over Java
Quercus - Running PHP over Java
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.js
 
Debug de cabo a rabo
Debug de cabo a raboDebug de cabo a rabo
Debug de cabo a rabo
 
Quem tem medo do terminal?
Quem tem medo do terminal?Quem tem medo do terminal?
Quem tem medo do terminal?
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.js
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensão
 
Traduções no WordPress
Traduções no WordPressTraduções no WordPress
Traduções no WordPress
 
Programando php com mais segurança
Programando php com mais segurançaProgramando php com mais segurança
Programando php com mais segurança
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - Nginx
 
Oficina de WordPress #fisl14
Oficina de WordPress #fisl14Oficina de WordPress #fisl14
Oficina de WordPress #fisl14
 
Desenvolvimento web no Linux
Desenvolvimento web no LinuxDesenvolvimento web no Linux
Desenvolvimento web no Linux
 
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIConfigurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
 
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
 
Webpack
Webpack Webpack
Webpack
 
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIConfigurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLI
 
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
 
VPN usando OPENVPN - Rafael Padilha da silva(DELETE)
VPN usando OPENVPN - Rafael Padilha da silva(DELETE)VPN usando OPENVPN - Rafael Padilha da silva(DELETE)
VPN usando OPENVPN - Rafael Padilha da silva(DELETE)
 

Semelhante a PHP Conference 2016

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
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftGetup Cloud
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Eliel Simoncelo
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
Instalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBoxInstalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBoxnetinhoteixeira
 
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
 
Project HA
Project HAProject HA
Project HAKarpv
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Apache2.4 tuning-hands on
Apache2.4 tuning-hands onApache2.4 tuning-hands on
Apache2.4 tuning-hands onRenato Gomes
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)Wagner Bianchi
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPelliando dias
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-phpBrenno Abreu
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersFrancisco Gonçalves
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkJaime Neto
 
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
 
Instalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteInstalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteHaste Design
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoMario Chaves
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 

Semelhante a PHP Conference 2016 (20)

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
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShift
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
Instalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBoxInstalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBox
 
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...
 
Project HA
Project HAProject HA
Project HA
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Apache2.4 tuning-hands on
Apache2.4 tuning-hands onApache2.4 tuning-hands on
Apache2.4 tuning-hands on
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHP
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-php
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containers
 
Performance de verdade com Phalcon Framework
Performance de verdade com Phalcon FrameworkPerformance de verdade com Phalcon Framework
Performance de verdade com Phalcon Framework
 
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
 
Instalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteInstalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmente
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 

PHP Conference 2016