Copyright © 2015 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. Seu logo e “High Performance Delivered” são marcas da Accenture.
1
09/04/201
eCommerce Brasil
Arquitetura de TI
Copyright © 2015 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. Seu logo e “High Performance Delivered” são marcas da Accenture.
2
09/04/201
Migração SVN para o GIT
Principal diferença entre SVN e GIT
O Subversion é um sistema de controle de versão
centralizado utilizado tradicionalmente em projetos Java.
O Git é um sistema de controle de versão distribuído que
apresenta crescente adoção na comunidade de
desenvolvimento de software em geral, especialmente
após sua popularização através do serviço de
hospedagem de códigos GitHub e BitBucket.
Exemplo de como é fácil manter o fluxo de trabalho
Por que você deveria mudar do Subversion para Git
"Tenho usado o Subversion por algum tempo. Ele atende bem as minhas demandas,
– então, seria apenas um controle de versão, certo?"
Vamos as vantagens inerentes dos sistemas distribuídos em relação aos sistemas
centralizados.
Git é um sistema de controle de versão distribuído. Então, o que “distribuído” significa?
Significa que em vez de executar `svn checkout (url)` para pegar a última versão do seu
repositório, com o Git você roda `git clone (url)`, o que dá a você uma cópia completa de
toda o histórico daquele projeto. Isso significa que imediatamente depois do clone, não
existe basicamente nenhuma informação sobre aquele projeto que o servidor do qual você
clonou tenha que você não tenha. Nesse ponto Subversion se torna ineficiente,
comparando, é tão rápido clonar um repositório inteiro no Git quanto fazer o checkout de
uma única versão do mesmo repositório no Subversion.
Algumas vantagens imediatas de usar o Git
Uma é que quase toda a operação agora é feita off data no seu disco local, o que significa
que é incrivelmente rápido e pode ser feito offline. Isso significa que você pode fazer
commits, diffs, logs, branches, merges, file annotation e mais – inteiramente offline, off VPN.
A outra vantagem implícita desse modelo é que seu fluxo de trabalho não tem um único
ponto de falha. Como cada pessoa que trabalha no seu projeto tem o que é essencialmente
um backup completo dos dados do projeto, perder seus servidores de colaboração é uma
pequena inconveniência.
No Git, qualquer membro da equipe pode enviar arquivos para qualquer servidor onde exista
acesso via SSH para qualquer membro, e toda a equipe pode facilmente estar pronta para
trabalhar em uma questão de minutos.
Uma desvantagem imediata de usar o Subversion
Imagine, por um momento, seu servidor Subversion tendo uma séria corrupção de drive – quand
Melhor Governança com fluxos de trabalho
O Git não depende de um servidor central, mas tem a habilidade de sincronizar com outros
repositórios Git – para pegar e levar as mudanças entre eles. Isso significa que você pode
adicionar múltiplos repositórios remotos ao seu projeto, alguns somente de leitura e outros
com possibilidade de acesso de escrita também, o que significa que você pode ter quase
qualquer tipo de fluxo de trabalho em que você pode pensar.
Integração contínua e Deploy Contínuo
Existem centenas de ferramentas, muitas delas SaaS, onde você apenas autoriza por uma
credencial, dando acesso a está ferramenta ao seu repositório Git, e baseado em eventos
como:
- Commit na Master
- Geração de TAG
- Commit em determinada Branch
- Aprovação de Pull Request
Esses eventos podem gerar facilmente um deploy da sua aplicação em ambientes de Dev,
QA, Stage ou Production, e essas ferramentas permitem facilmente integração de código
em servidores, principalmente em ambientes Cloud como AWS, Google, Digital Ocean
As integrações com servidores Git são inúmeras.
Melhor Governança nos fluxos de trabalho - Conheça o GitFlow
Melhor Governança nos fluxos de trabalho - Pull Request
Melhor Governança nos fluxos de trabalho - Pull Request
Melhor Governança nos fluxos de trabalho - Pull Request
Melhor Governança nos fluxos de trabalho - Pull Request
Melhor Governança nos fluxos de trabalho - Pull Request
Melhor Governança nos fluxos de trabalho - Conheça o GitFlow
Empresas que usam o Git
Migração SVN para GIT

Migração SVN para GIT

  • 1.
    Copyright © 2015Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. Seu logo e “High Performance Delivered” são marcas da Accenture. 1 09/04/201 eCommerce Brasil Arquitetura de TI
  • 2.
    Copyright © 2015Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. Seu logo e “High Performance Delivered” são marcas da Accenture. 2 09/04/201 Migração SVN para o GIT
  • 3.
    Principal diferença entreSVN e GIT O Subversion é um sistema de controle de versão centralizado utilizado tradicionalmente em projetos Java. O Git é um sistema de controle de versão distribuído que apresenta crescente adoção na comunidade de desenvolvimento de software em geral, especialmente após sua popularização através do serviço de hospedagem de códigos GitHub e BitBucket.
  • 5.
    Exemplo de comoé fácil manter o fluxo de trabalho
  • 6.
    Por que vocêdeveria mudar do Subversion para Git "Tenho usado o Subversion por algum tempo. Ele atende bem as minhas demandas, – então, seria apenas um controle de versão, certo?" Vamos as vantagens inerentes dos sistemas distribuídos em relação aos sistemas centralizados. Git é um sistema de controle de versão distribuído. Então, o que “distribuído” significa? Significa que em vez de executar `svn checkout (url)` para pegar a última versão do seu repositório, com o Git você roda `git clone (url)`, o que dá a você uma cópia completa de toda o histórico daquele projeto. Isso significa que imediatamente depois do clone, não existe basicamente nenhuma informação sobre aquele projeto que o servidor do qual você clonou tenha que você não tenha. Nesse ponto Subversion se torna ineficiente, comparando, é tão rápido clonar um repositório inteiro no Git quanto fazer o checkout de uma única versão do mesmo repositório no Subversion.
  • 7.
    Algumas vantagens imediatasde usar o Git Uma é que quase toda a operação agora é feita off data no seu disco local, o que significa que é incrivelmente rápido e pode ser feito offline. Isso significa que você pode fazer commits, diffs, logs, branches, merges, file annotation e mais – inteiramente offline, off VPN. A outra vantagem implícita desse modelo é que seu fluxo de trabalho não tem um único ponto de falha. Como cada pessoa que trabalha no seu projeto tem o que é essencialmente um backup completo dos dados do projeto, perder seus servidores de colaboração é uma pequena inconveniência. No Git, qualquer membro da equipe pode enviar arquivos para qualquer servidor onde exista acesso via SSH para qualquer membro, e toda a equipe pode facilmente estar pronta para trabalhar em uma questão de minutos. Uma desvantagem imediata de usar o Subversion Imagine, por um momento, seu servidor Subversion tendo uma séria corrupção de drive – quand
  • 8.
    Melhor Governança comfluxos de trabalho O Git não depende de um servidor central, mas tem a habilidade de sincronizar com outros repositórios Git – para pegar e levar as mudanças entre eles. Isso significa que você pode adicionar múltiplos repositórios remotos ao seu projeto, alguns somente de leitura e outros com possibilidade de acesso de escrita também, o que significa que você pode ter quase qualquer tipo de fluxo de trabalho em que você pode pensar. Integração contínua e Deploy Contínuo Existem centenas de ferramentas, muitas delas SaaS, onde você apenas autoriza por uma credencial, dando acesso a está ferramenta ao seu repositório Git, e baseado em eventos como: - Commit na Master - Geração de TAG - Commit em determinada Branch - Aprovação de Pull Request Esses eventos podem gerar facilmente um deploy da sua aplicação em ambientes de Dev, QA, Stage ou Production, e essas ferramentas permitem facilmente integração de código em servidores, principalmente em ambientes Cloud como AWS, Google, Digital Ocean As integrações com servidores Git são inúmeras.
  • 9.
    Melhor Governança nosfluxos de trabalho - Conheça o GitFlow
  • 10.
    Melhor Governança nosfluxos de trabalho - Pull Request
  • 11.
    Melhor Governança nosfluxos de trabalho - Pull Request
  • 12.
    Melhor Governança nosfluxos de trabalho - Pull Request
  • 13.
    Melhor Governança nosfluxos de trabalho - Pull Request
  • 14.
    Melhor Governança nosfluxos de trabalho - Pull Request
  • 15.
    Melhor Governança nosfluxos de trabalho - Conheça o GitFlow
  • 16.