diff options
Diffstat (limited to 'aulas/devops.rst')
-rw-r--r-- | aulas/devops.rst | 48 |
1 files changed, 36 insertions, 12 deletions
diff --git a/aulas/devops.rst b/aulas/devops.rst index 026f735..9f03acc 100644 --- a/aulas/devops.rst +++ b/aulas/devops.rst @@ -58,6 +58,12 @@ No caso de uma arquitetura de serviços, temos os seguintes ambientes: 5.4 - Vagrant ------------- +* Ferramenta para criação e gestão de ambientes de desenvolvimento. +* Sua aplicação roda localmente, porém dentro de uma máquina virtual. +* O simples comando `vagrant up` ergue a máquina virtual e realiza a configuração do ambiente. +* A "receita" do ambiente de desenvolvimento pode ser compartilhada entre todos(as) desenvolvedores(as) do software. +* O vagrant se soma ao nosso ambiente de trabalho e também serve como ambiente de testes. + Roteiro do screencast: :: @@ -68,23 +74,42 @@ Roteiro do screencast: cd ~/projetos/blogatico vagrant init -5.5 - Integração contínua -------------------------- +5.5 - Fazendo o deploy +---------------------- -- Integração contínua usando o `Travis CI <http://travis-ci.org/>`_. +- Deploy: disponibilizar o código em ambiente de hospedagem (desenvolvimento, staging ou produção). +- SSH: protocolo de comunicação criptografada e autenticada entre cliente e servidor. +- Git, rsync e sftp: diversos, dentre inúmeros, meios de se transferir o código. +- O deploy também pode ser automatizado usando scripts ou softwares especializados (ansible, capistrano, etc). -5.6 - Fazendo o deploy ----------------------- +Roteiro do screencast: + +* SSH: entrando no servidor (fingerprints e senha). +* SSH: autenticação por chave. +* Bônus: github com chave pública. +* Clonando o repositório em produção. +* Atualizando o repositório. +* Bônus: deploy automatizado com git-hooks. + +5.6 - Testes e integração contínua +---------------------------------- + +- Erros de programação são muito comuns. +- Apenas a atenção não é suficiente. +- Testar manualmente o software é importante, porém é um trabalho repetitivo, cansativo e também sujeito a falhas. +- Rotinas automatizadas de teste podem pegar muitos erros e serem feitas localmente ou através de serviços. + +Roteiro do screencast: -- SSH e rsync. -- Deploy via git. +* Mostrar softwares e serviços de integração contínua. +* Criar um protótipo local e simples de teste e integração contínua. 5.7 Atividades -------------- -#. Instale o vagrant. -#. Crie uma máquina virtual para desenvolver o seu projeto. -#. Crie uma conta no Travis CI. +#. Crie um ambiente de desenvolvimento vagrant para o seu projeto. +#. Experimente o PuPHPet para gerar uma configuração mais complexa de ambiente virtual de desenvolvimento. +#. Crie uma rotina de testes simples para o seu projeto. 5.8 - Referências ----------------- @@ -94,5 +119,4 @@ Roteiro do screencast: - `Deploy estilo Heroku usando Git – Elton Minetto <http://eltonminetto.net/blog/2013/11/11/deploy-estilo-heroku-usando-git/>`_. - `Deploy fácil com git - Dan Jesus <https://danjesus.github.io/blog/deploy-facil-com-git/>`_. - `PuPHPet - Online GUI configurator for Puppet & Vagrant <https://puphpet.com/>`_. -- https://github.com/juancarlospaco/css-html-js-minify -- https://packages.debian.org/stable/tidy +- `Comparison of continuous integration software - Wikipedia, the free encyclopedia <https://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software>`_. |