Como adiciono controle de versão ao meu fluxo de trabalho?

10

Eu desenvolvo temas, muitos deles. Eu recebo um PSD, codifico o HTML / CSS, dou um tapa no código do Wordpress e faço correções quando eles recebem o QC. Uma vez ao vivo, os clientes podem editar postagens normais ou enviar fotos usando um plug-in personalizado.

Às vezes, tenho que fazer alterações no tema ou no conteúdo da página / postagem, o que significa que eu os faço ao vivo ou preciso baixar e configurar o site em um ambiente de desenvolvimento para ser aprovado pelo cliente. Não tenho backup, não tenho controle de versão e percebo que isso precisa mudar.

O Git e o Mercurial foram sugeridos e eu gostaria de aproveitar essas ferramentas, mas estou confuso sobre como encaixá-las em um fluxo de trabalho.

Eu preciso de todas as alterações em um site em um servidor de desenvolvimento e, em seguida, as envio ao vivo depois de aprovadas? Que tal escrever posts? Parece um exagero para escrever posts no dev e empurrar as mudanças ao vivo, mas como eu sincronizo os bancos de dados se eles são editados no site ao vivo? Eu vasculhei a internet. Alguma orientação seria apreciada.

    
por cfree 09.02.2012 / 18:33

3 respostas

7

Antes de tudo, você precisa reconhecer que há dois fluxos de trabalho aqui: o seu e o do seu cliente.

Seu fluxo de trabalho

  • Receber PSD
  • Codifique HTML / CSS
  • Modelo WordPress de código
  • Implantar tema para viver no site do WordPress

O fluxo de trabalho deles

  • Conceber as alterações necessárias e enviá-las por e-mail
  • Escrever postagens
  • Fazer upload de fotos

O problema

Implementar o controle de versão aqui não tem absolutamente nada a ver com o fluxo de trabalho de seus clientes. É tudo sobre como acompanhar o código que você usa para o tema WordPress. Todos os seus arquivos de tema, plugins personalizados, etc devem estar em um sistema de controle de versão (Git, Mercurial, Subversion, ou o que você escolher usar).

Seu fluxo de trabalho se torna:

  • Escreva o código
  • Confirmar alterações no sistema de controle de versão
  • Enviar alterações para o site de produção
  • Receber comentários do cliente
  • Escreva o código
  • Confirmar alterações
  • Escreva o código
  • Confirmar alterações
  • Enviar alterações para o site de produção

Lembre-se de manter um histórico de controle de versão para o seu código . O código é algo que seus clientes não devem mudar - e você nunca deve alterar o código em um site de produção enquanto estiver em produção.

Mas as alterações no conteúdo (postagens, fotos, etc) estão fora do escopo do seu sistema de controle de versão. Em outras palavras, você não faz alterações no desenvolvimento e, em seguida, envia o banco de dados para produção. Essa é uma prática de desenvolvimento ruim. Se você precisa que os bancos de dados dev e prod estejam em sincronia, então você deve puxar rotineiramente um backup da caixa de produção e restaurar sua versão local a partir desse backup.

Alterações no código fluem do desenvolvimento para a produção.
Alterações no banco de dados fluem da produção para o desenvolvimento.

    
por EAMann 09.02.2012 / 18:57
1

Você pode usar o software que sincroniza os bancos de dados. Mas há também a opção de versionar os dados em si com algo como enlace

    
por Gary 13.02.2012 / 03:41
1

Eu apenas escrevi uma resposta completa para isso em outra pergunta. Pessoalmente eu uso o git e é fantástico. Em termos de começar, eu recomendaria verificar enlace e enlace . Se você é do tipo livro, eu li este e definitivamente vale a pena o preço do ebook de US $ 22. Faça você mesmo, você não vai se arrepender dessa decisão.

    
por Matthew Boynes 13.02.2012 / 07:14