SlideShare uma empresa Scribd logo
1 de 28
Unix te dá asas
Unix
• Pushd & Popd
• Find Hard Targets find . -regex ".*Db.java"
                    The Productive programmer, pg 58
• Which, pushd
• Segregate Workspace -> Virtual
  Desktops
• alias
•


                                       Times ágeis. @gpupo
Unix
• Keep knowledge in plain text
• Escolhendo as ferramentas certas
• Rejeitando as escolhas erradas




                            Times ágeis. @gpupo
root@host [~]# find /home/ -name "*.php" -print | xargs 
grep "Obrigado por reservar sua hospedagem pelo site"
Unix
• No Hang UP! - nohup




                        Times ágeis. @gpupo
Deploy
• Automatizado
• Rollback




                      Times ágeis. @gpupo
Deploy
• Automatizado
• Rollback



“More important than backup is the 
restore, and more important than the 
deploy is the rollback”




                                        Times ágeis. @gpupo
Deploy
• Use autenticação por chave
  – Painel de controle( cPanel)
    / "Acesso SSH"
    / "Gerenciar chaves SSH"
    / "Importar Chave"
  – Insira sua chave pública




                                  Times ágeis. @gpupo
Deploy
• Use autenticação por chave
  – Painel de controle( cPanel)
    / "Acesso SSH"
    / "Gerenciar chaves SSH"
    / "Importar Chave"
  – Insira sua chave pública
  – Dar permissão à chave




                                  Times ágeis. @gpupo
Deploy
• Use autenticação por chave
  – Painel de controle( cPanel)
    / "Acesso SSH"
    / "Gerenciar chaves SSH"
    / "Importar Chave"
  – Insira sua chave pública
  – Dar permissão à chave
  – Domine “as portas”



                                  Times ágeis. @gpupo
Deploy




Teste de conexão e bastidores
DeployCapistrano
• “Capistrano, your one stop
  deployment shop”
•




                               Times ágeis. @gpupo
DeployCapistrano
1)sudo apt-get install capistrano
2)zf create project otimizadora
3)cd otimizadora
4)capify .
5)edit config/deploy.rb




                              Times ágeis. @gpupo
DeployCapistrano
1)Não defina $HOME como deploy_to
  *perca da autenticação por chave
2)cap deploy:setup
3)cap deploy:check
4)cap -e socorro:wtf




                           Times ágeis. @gpupo
Shared            Releases


                            R1

   Uploads



                                 Uploads
             R2




                  Uploads
cap deploy:update
DeployCapistrano

cap deploy:rollback




                Times ágeis. @gpupo
DeployCapistrano

cap deploy:rollback
Uma das maiores
características do Capistrano é
a sua capacidade para reverter
a implantação se algo não
funcionar como esperado.

                          Times ágeis. @gpupo
DeployCapistrano

cap deploy:rollback
Retornar a uma versão anterior
é tão simples como remover o
link simbólico para a versão
mais recente e, em seguida,
criar um novo símbolo link que
aponta para a versão anterior.
                         Times ágeis. @gpupo
DeployCapistrano
run            Execute commands on one or more servers

parallel     Execute multiple commands on multiple servers in parallel

stream        Very similar to run, but optimized for displaying live streams of text (like
             tailed log files) from multiple hosts.
capture      Executes a command on a single host and returns ("captures") the
             output as a string
put             Store the contents of a file on multiple servers.

get          Transfers a file from a single remote server to the local host

upload       upload Transfers a file or directory from the local host to multiple
             remote hosts, in parallel
download     Transfers a file or directory from multiple remote hosts to the
             local host, in parallel

                                                                  Times ágeis. @gpupo
DeployCapistrano
1)Deploying symfony Applications with
  Capistrano = Capifony
2)http://www.delicious.com/gpupo/capistrano




                                   Times ágeis. @gpupo
Deploy automatizado com Capistrano

Mais conteúdo relacionado

Mais procurados

ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...Renato Groff
 
Docker Swarm Cluster
Docker Swarm ClusterDocker Swarm Cluster
Docker Swarm ClusterFernando Ike
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...Renato Groff
 
Foreman como provisionador TDC floripa 2017
Foreman como provisionador TDC floripa 2017Foreman como provisionador TDC floripa 2017
Foreman como provisionador TDC floripa 2017Andre "Ramoni" Guimaraes
 
Docker em Produção com Kubernetes
Docker em Produção com Kubernetes Docker em Produção com Kubernetes
Docker em Produção com Kubernetes Fernando Ruaro
 
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
 
Gerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipamGerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipamPietro Scherer
 
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemasTDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemastdc-globalcode
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetesRicardo Katz
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPUserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPAndré Déo
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhatdc-globalcode
 

Mais procurados (19)

ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
 
Docker Swarm Cluster
Docker Swarm ClusterDocker Swarm Cluster
Docker Swarm Cluster
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
 
Foreman como provisionador TDC floripa 2017
Foreman como provisionador TDC floripa 2017Foreman como provisionador TDC floripa 2017
Foreman como provisionador TDC floripa 2017
 
Docker em Produção com Kubernetes
Docker em Produção com Kubernetes Docker em Produção com Kubernetes
Docker em Produção com Kubernetes
 
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
 
Gerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipamGerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipam
 
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemasTDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
 
HOST079 - Docker
HOST079 - DockerHOST079 - Docker
HOST079 - Docker
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOps
 
Git - Visão Geral
Git - Visão GeralGit - Visão Geral
Git - Visão Geral
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetes
 
Apresentação do Novo QTS 4.2
Apresentação do Novo QTS 4.2Apresentação do Novo QTS 4.2
Apresentação do Novo QTS 4.2
 
Vamos conversar sobre cache
Vamos conversar sobre cacheVamos conversar sobre cache
Vamos conversar sobre cache
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPUserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 

Destaque

12 passos para um código melhor
12 passos para um código melhor12 passos para um código melhor
12 passos para um código melhorGilmar Pupo
 
P2p - Valorizando o compartilhamento do conhecimento
P2p - Valorizando o compartilhamento do conhecimento P2p - Valorizando o compartilhamento do conhecimento
P2p - Valorizando o compartilhamento do conhecimento Gilmar Pupo
 
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gilmar Pupo
 
Controle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareControle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareGilmar Pupo
 
Big design up front (BDUF)
Big design up front (BDUF)Big design up front (BDUF)
Big design up front (BDUF)Gilmar Pupo
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareCamilo Almendra
 
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
 

Destaque (7)

12 passos para um código melhor
12 passos para um código melhor12 passos para um código melhor
12 passos para um código melhor
 
P2p - Valorizando o compartilhamento do conhecimento
P2p - Valorizando o compartilhamento do conhecimento P2p - Valorizando o compartilhamento do conhecimento
P2p - Valorizando o compartilhamento do conhecimento
 
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
 
Controle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareControle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de software
 
Big design up front (BDUF)
Big design up front (BDUF)Big design up front (BDUF)
Big design up front (BDUF)
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
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
 

Semelhante a Deploy automatizado com Capistrano

Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanElton Minetto
 
Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Felipe Klerk Signorini
 
Tutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocsTutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocsJoao Muela
 
Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)Marcello Azambuja
 
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Thiago Barradas
 
Skytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxySkytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxyFernando Ike
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!magnunleno
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory gigadrop
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
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
 
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSSWorkshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSSRodrigo Cândido da Silva
 

Semelhante a Deploy automatizado com Capistrano (20)

Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Consegi 2011: Puppet
Consegi 2011: PuppetConsegi 2011: Puppet
Consegi 2011: Puppet
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Apresentacao deploy
Apresentacao deployApresentacao deploy
Apresentacao deploy
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando Gearman
 
Puppet webcast 4linux
Puppet webcast 4linuxPuppet webcast 4linux
Puppet webcast 4linux
 
Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 
Infrastructure Testing
Infrastructure TestingInfrastructure Testing
Infrastructure Testing
 
Deploy Rails
Deploy RailsDeploy Rails
Deploy Rails
 
Tutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocsTutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocs
 
Gentoo
GentooGentoo
Gentoo
 
Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)Video Distribution in the Internet (pt_BR)
Video Distribution in the Internet (pt_BR)
 
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
 
Skytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxySkytools, pgbouncer e plproxy
Skytools, pgbouncer e plproxy
 
Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!Adeus Wordpress. Ola Pelican!
Adeus Wordpress. Ola Pelican!
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
 
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSSWorkshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
 

Deploy automatizado com Capistrano