Qual é a maneira mais eficaz de implantar um site?

8

Estou ciente de algumas maneiras de implantar sites:

  • FTP
  • Exportar do controle de origem
  • Basear o site em uma verificação de controle de origem

Eu posso ver algumas vantagens e desvantagens de cada uma. Existe algum consenso sobre a maneira mais eficaz de implantar novos sites OU modificações no site?

Grant Palin
fonte
11
Muito relacionado a algumas outras questões, e bastante subjetivo. Isso pode se transformar em um debate. Na verdade, se envolve controle de versão, geralmente se transforma em debate.
Tim Post
11
Meu interesse não é tanto sobre controle de origem, mas comparar diferentes técnicas de implantação. Acho que poderíamos esperar comparações razoáveis ​​de prós e contras.
Grant Palin

Respostas:

6

O que funcionou melhor para nós no Stack Overflow (e atende ao ponto 2 do Joel Test ) é uma solução de integração contínua , permitindo a criação em um clique de nossos sites de produção, bem como a criação automatizada de nossa camada de desenvolvedor após o novo check-in de código .

Usamos o sabor .NET do CruiseControl , com o nome empolgante .. CruiseControl.NET :)

Alguns dos principais recursos incluem:

  • Integração com uma variedade de sistemas de controle de origem
  • Integração com outras ferramentas externas, como NAnt e Visual Studio
  • Pode construir vários projetos em um servidor
  • Gerenciamento e relatórios remotos

Ficamos extremamente felizes com este software de código aberto e o recomendamos a qualquer equipe que queira otimizar seu processo de criação.

Jarrod Dixon
fonte
2
Eu pensei que tecla Caps Lock foi o controle de cruzeiro ... para fresco
Mark Henderson
3

Prefiro implantações automatizadas e repetíveis. Você definitivamente gostaria de começar com uma tag de controle de origem para saber exatamente o que implantou e poder reimplantá-lo a qualquer momento. Em seguida, use scripts para enviar isso ao servidor, algo como Capistrano, ou apenas um script bash caseiro ou algo assim.

Para sites que usam código compilado, se os servidores de teste corresponderem aos servidores de produção, provavelmente é melhor compilar o código uma vez e enviar a mesma versão compilada à produção depois de testada.

Matthew Shanley
fonte
1

Eu uso scripts personalizados. Para sites estáticos (baseados em HTML), uso diretórios duplos com versões novas e instaladas, o script executa uma recursiva diffnas versões novas e instaladas e carrega apenas os arquivos que foram alterados.


fonte
Qual idioma é o script? bater? Se importa de nos dar uma espiada?
paan
@paan: Está em Perl. Sinto muito, mas não posso liberar o script inteiro.
0

Eu uso o git com alguns ganchos personalizados para implantação. Isso ainda tem a vantagem de poder executar várias ramificações em sites de desenvolvimento / teste / beta / produção e executar alguns IC. Para patches urgentes, o git sempre permite escolher confirmações específicas de um ramo para o outro.

txwikinger
fonte