Gerenciando sites com o Git no Ubuntu

1

Então, acabamos de receber nosso novo servidor, que será usado exclusivamente para desenvolvimento de sites e controle de versões.

Eu configurei o Ubuntu (edição de desktop 11.04, eu gosto de interfaces, desculpe!) e instalei o Apache, PHP e MySQL - até agora, tudo bem.

Decidimos que queremos usar o Git como nosso sistema de gerenciamento de versões, já que tivemos boas experiências com ele. Mas ... não temos certeza de como planejar nossa estrutura. Então, espero que você possa nos ajudar.

Configuração atual

No momento, executamos um servidor de desenvolvimento bbtsrv02 , que é um servidor Windows, executando o XAMPP. Fazemos todos os nossos desenvolvimentos neste servidor e isso gera muito barulho e bagunça quando estamos invadindo as coisas rapidamente.

Após as alterações terem sido feitas localmente, enviamos esses arquivos para o nosso servidor externo (hospedado por outra pessoa) via FTP.

Está longe de ser prático, pode haver 3/5 desenvolvedores ao mesmo tempo trabalhando no site como um todo. Isso causa conflitos e ... não é legal.

A ideia atual

A idéia é usar bbtsrv02 como um servidor "espelho". Ele conterá todos os códigos mais atualizados e ativos. bbtsrv03 (o novo servidor) será o nosso servidor de desenvolvimento. Teremos a ramificação master , que também conterá o código ativo, e cada desenvolvedor distribuirá sua própria versão para cada alteração.

Mas ... Pensar ainda mais me levou a chegar à conclusão de que precisaremos configurar alguns hosts virtuais, para cada desenvolvedor, para que eles possam fechar o repositório principal e trabalhar a partir daí?

Eu não tenho muita experiência nesta área, mas meu plano atual é particionar o HDD principal e nos dar cada espaço suficiente para desenvolver.

Em seguida, enviamos nossas alterações de nossa filial para a principal e, em seguida, "copiamos" para bbtsrv02 e upload. Eu estou esperando, é claro, eu posso fazer alguns scripts bash para fazer isso por mim?

    
por James 19.09.2011 / 16:38

2 respostas

2

A maneira como fazemos isso (YMMV) é a seguinte:

Cada desenvolvedor cria e faz testes básicos de código em seu desktop / laptop, etc. Eles usam o git localmente para confirmar mudanças, ramificar etc. Quando estão prontos para executar, eles tomam as ações locais necessárias para limpar o cronograma e então eles empurram.

O envio vai para um servidor de teste. Nosso servidor de temporariedade é um espelho dos nossos servidores de produção. Fazemos testes de carga, revisões de código e verificações finais lá.

Quando passamos esse nível, passamos para os servidores de produção.

    
por 19.09.2011 / 18:21
2

Uma opção é fazer com que todos os desenvolvedores executem seu próprio servidor LAMP (talvez o XAMPP). Dessa forma, os devs não estão pisando um no outro fazendo várias coisas. Seu servidor de desenvolvimento pode ter 2 hosts virtuais - um para o site "dev" mais atual e um para o site mais "estável".

Ambos os sites podem estar no git. Seu site de desenvolvimento seria o repositório que todos os desenvolvedores deviam fazer. Então você pode configurar um gancho post-commit para empurrar o ramo estável para o repositório estável. Seu site estável é executado a partir do repositório estável.

Espero que não tenha confundido você, mas essa solução parece ser a melhor

    
por 19.09.2011 / 17:46