O objetivo deste texto é mostrar como criar um ambiente de desenvolvimento compartilhado de maneira fácil e prática, permitindo que vários desenvolvedores trabalhem em um mesmo projeto ou até mesmo para quem trabalha sozinho, seja em locais distintos ou com diferentes estações de trabalho ou as duas coisas.
Este texto não tem a pretensão de ser um guia completo do Git e nem do ownCloud, mas sim de apresentar uma ideia de como usá-los em conjunto para montar um ambiente compartilhado e seguro.
Uma apresentação rápido do Git
O Git é um sistema de controle de versão distribuído e um sistema de gerenciamento de código-fonte criado por Linus Torvalds para o desenvolvimento do kernel Linux.
Cada diretório de trabalho do Git é um repositório com histórico completo e habilidade total de acompanhamento das revisões não dependente de acesso a uma rede ou servidor central.
O Git foi baseado no BitKeeper e no Monotone, mas juntando também a experiência do próprio Linus para manutenção do desenvolvimento altamente distribuído do projeto Linux. Por estas razões o Git tem as seguintes características:
– Suporte consistente para desenvolvimento não-lineares
– Desenvolvimento distribuído
– Compatibilidade com protocolos/sistemas existentes
– Manipulação eficiente de projetos extensos
– Autenticação criptográfica do histórico
– Modelo baseado em ferramentas
– Estratégias de mescla (merge) conectáveis
– O lixo se acumula se não for limpo
– Empacotamento periódico explícito de objetos
Uma apresentação rápida do ownCloud
O ownCloud é um software que fornece uma área de armazenamento de dados na nuvem, com opções de sincronização de arquivos, visualização e compartilhamento com outras pessoas. Por trás deste projeto está a empresa, de mesmo nome, ownCloud – http://owncloud.com.
As principais vantagens do ownCloud estão na segurança dos dados, que além de contar com mecanismos de criptografia podemos também escolher onde hospedar a solução. A customização também é outra vantagem, já que se trata de um software livre. E mais, temos uma solução ideal para armazenar e acessar informações de qualquer lugar, proporcionando também uma maneira inteligente de backup.
Além disto, o ownCloud possui um Cliente de Sincronização para os sistemas operacionais Linux, Windows e Mac, que mantém um ou mais diretórios locais da estação de trabalho sempre sincronizados com o servidor remoto. E claro, existem também as opções para Android e iOS.
O lema do ownCloud é “Sua Nuvem, Seus Dados”, ou seja, nada mais de acordo com as recentes notícias sobre espionagem, PRISM, etc.
Não conhece o ownCloud? Sem problema, acesse o ambiente de demonstração, disponível em http://owncloud.linux2business.com.br, usando o login “usuario1” e senha “usuario1”, ambos sem as aspas.
Criando o ambiente de desenvolvimento no ownCloud
Uma vez que você instalou seu servidor ownCloud, ou contratou o serviço com a Linux2Business, e também instalou o Cliente de Sincronização do ownCloud em seu computador, o primeiro passo é criar um diretório local para seus projetos Git, por exemplo, ProjetosGIT, dentro do diretório ownCloud criado em sua estação de trabalho.
Obs.: Este diretório ownCloud local deve estar configurado no seu Cliente de Sincronização do ownCloud e será sincronizado com o seu servidor ownCloud.
Em seguida você deve configurar suas informações e criar um repositório no Git, usando o próprio Git via linha de comando ou com alguma interface gráfica de sua preferência:
$ git config –global user.name “Nome Completo”
$ git config –global user.email “nomecompleto@email.com.br
$ git init
Os comandos acima criam o arquivo oculto .gitconfig, no diretório pessoal (Home), com as informações do nome e e-mail. Já o último comando cria o diretório oculto .git dentro do diretório ProjetosGIT.
Compartilhando com outros desenvolvedores
Com o repositório criado o próximo passo é compartilhá-lo com os demais desenvolvedores do projeto. Para isto, todos os envolvidos devem ter uma conta no servidor ownCloud e também o programa Cliente de Sincronização do ownCloud instalado na estação de trabalho.
Para compartilhar o repositório, acesse o servidor ownCloud pela interface web, posicione o mouse sobre o diretório ProjetosGIT para surgir a opção de compartilhamento. Em seguida clique em Compartilhar e escreva o nome de todos os desenvolvedores, que já devem estar criados no servidor ownCloud.
É possível ainda enviar um e-mail para eles e até definir uma data de expiração para o compartilhamento.
O repositório compartilhado irá surgir no ownCloud dos desenvolvedores dentro do diretório Shared, onde cada desenvolvedor pode verificar através de suas interfaces web do ownCloud.
Agora os desenvolvedores devem configurar o Cliente de Sincronização do ownCloud para sincronizar o diretório remoto Shared/ProjetosGIT para um diretório local na estação de trabalho.
Pronto! Todos agora tem acesso ao mesmo projeto Git.
Usando o Git
Com o repositório criado e com todos os envolvidos no projeto acessando o repositório compartilhado, o primeiro passo é copiar todos arquivos e diretórios do seu projeto de desenvolvimento que você deseja controlar para o diretório ProjetosGIT e adicioná-los ao repositório Git:
$ cd ~/ownCloud/ProjetosGIT
$ git add .
Por fim, você precisa realizar o primeiro commit:
Agora é só aguardar para que os arquivos sejam sincronizados com todos os desenvolvedores envolvidos e iniciar os trabalhos localmente.
Conclusão
Este exemplo demonstra como usar o Git localmente para controlar um projeto de desenvolvimento e como usar ownCloud para sincronizar e compartilhar o repositório GIt com outros desenvolvedores.
Na prática todos estarão trabalhando localmente, realizando seus commit, push, clone, etc, sempre no diretório local em sua estação de trabalho e o ownCloud se responsabilizará em manter tudo sincronizado com o repositório remoto no servidor.
Referências
Wikipedia sobre o Git
Git no Servidor
Iniciando no GIT – Parte 1
Git – Guia Prático