Continuous Deployment e DevOps na N... by Amazon Web Servic... 1750 views
1. Por Jonata Weberjonataa@gmail.com+GrupoPráticas de Software
2. Agenda Controle de Versão O que é? Benefícios Por que utilizar? Modelos Git Noções básicas Três Estados Prática Github
3. Controle de Versão (VCS) O que é? O controle de versão é um sistema que registra asmudanças feitas em um arquivo ou um conjunto dearquivos ao longo do tempo de forma que você possarecuperar versões específicas Benefícios Histórico Quem, quando e onde? Colaboração Trabalho paralelo Variações no Projeto
4. Avaliação Rápida Alguém já sobrescreveu o código de outra pessoapor acidente e acabou perdendo as alterações? Tem dificuldades em saber quais as alteraçõesefetuadas em um software, quando foram feitas equem fez? Tem dificuldade em recuperar o código de umaversão anterior que está em produção? Tem problemas em manter variações do sistema aomesmo tempo?
5. Avaliação Rápida Se alguma das perguntas anteriores teve um SIMcomo resposta, então sua equipe necessitaurgentemente de um sistema para controle deversão!Controle de versão é fundamental para odesenvolvimento de software
6. Como funciona um VCS?
7. Ferramentas As melhores são Open Source Centralizado Subversion, por exemplo. Distribuído Exemplo: Mercurial e o Git
8. VCS Centralizado
9. VCS Distribuído
10. VCS Distribuído Pull (Puxar) Atualiza o repositório local Push (Empurrar) Atualiza o repositório remoto
11. VCS Distribuído
12. Noções Básicas de Git
13. Snapshots, E Não DiferençasVCS Convencionais
14. Snapshots, E Não DiferençasGit
15. Noções Básicas de Git Quase todas as operações são locais Menor latência Histórico do projeto no seu disco local Trabalho offline Git tem integridade Checksum (hash SHA-1)24b9da6552252987aa493b52f8696cd6d3b00373 Fazer um commit de um snapshot no Git, é muitodifícil que você o perca
16. Noções Básicas de Git Os Três Estados Modificado (modified) Preparado (staged) Consolidado (committed)
17. Os Três Estados
18. Os Três Estados O workflow básico do Git pode ser descrito assim:1. Você modifica arquivos no seu diretório de trabalho.2. Você seleciona os arquivos, adicionando snapshotsdeles para sua área de preparação.3. Você faz um commit, que leva os arquivos como elesestão na sua área de preparação e os armazenapermanentemente no seu diretório Git.
19. Instalando Git Baixar snapshot mais recente: http://git-scm.com/download Instalando no Linux$ yum install git-core$ apt-get install git-core Instalando no Mac http://code.google.com/p/git-osx-installer
20. Instalando Git http://msysgit.github.com Cliente SSH e GUI padrão Sua Identidade$ git config --global user.name "Jonata Weber"$ git config --global user.email jonataa@gmail.com
21. Git na Prática Criar um novo repositóriogit init Obter um repositóriogit clone /caminho/para/o/repositóriogit clone usuário@servidor:/caminho/para/o/repositório Adicionar e confirmar (staging)git add <arquivo>git add * Commitgit commit -m "comentários das alterações" Enviar alteraçõesgit push origin master Adicionar um servidor remotogit remote add origin <servidor> Log de commitsgit log
22. Exemplo Prático1. Criar e movimentar um repositório local2. Empurrar (Push) para um repositório remoto3. Puxar (Pull) de um repositório remoto4. Deploy automático
23. Github GitHub é um Serviço de Web Hosting Compartilhadopara projetos que usam o controle de versionamentoGit. https://github.com/ É escrito em Ruby on Rails. Planos comerciais e gratuitos para projetos decódigo aberto. Possui algumas funcionalidades Rede social como feeds, followers, wiki e um gráfico quemostra como os desenvolvedores trabalham as versõesde seus repositórios.
24. Referências http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/conceitos_basicos_controle_versao_centralizado_e_distribuido.php?pagNum=3 http://git-scm.com/book/pt-br/Primeiros-passos-Sobre-Controle-de-Vers%C3%A3o http://rogerdudler.github.io/git-guide/index.pt_BR.html http://www.akitaonrails.com/2010/02/13/deploy-com-git-push https://devcenter.heroku.com/articles/git http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/ http://www.contagia.com.br/blog/git-pra-que-serve/ http://marklodato.github.io/visual-git-guide/index-en.html http://www.abstraindo.com/ambiente-de-desenvolvimento/vagrant-de-forma-simples-parte-1/