WordPress e Git Workflow

23

Eu sei que essa pergunta já foi feita milhares de vezes, mas estou realmente tentando descobrir como tirar o melhor proveito do Git ao trabalhar com o WordPress.

Eu vasculhei a web e li dezenas de artigos, tudo o que parece abordar o tópico brevemente. Aqui estão alguns dos mais notáveis que eu li recentemente.

- Versão Controlando o WordPress

- Gerenciando implantações de temas do WordPress com o Git

- Gerencie seu tema personalizado do WordPress usando git em vez de FTP

Atualmente, meu fluxo de trabalho é assim.

  • Instalar o WordPress localmente
  • Desenvolver tema
  • Exportar bancos de dados do WordPress do servidor local
  • Importar banco de dados do WordPress para o servidor remoto
  • Carregue arquivos e tema do WordPress via FTP
  • O cliente faz alterações
  • Baixe arquivos e tema do WordPress via FTP e exporte Bancos de dados do WordPress do servidor remoto
  • Substituir arquivos localmente
  • Faça alterações de desenvolvimento
  • Reenviar via FTP, exportar e importar o banco de dados para o servidor remoto

Eu percebo que o Git pode agilizar esse processo. Parece que a melhor maneira de fazer isso é ter um arquivo .gitignore que ignora certos diretórios que não precisam ser rastreados, bem como ter um arquivo wp-config.php local e remoto.

Mas como você lida com os bancos de dados? Os clientes geralmente fazem alterações (posts / páginas / plugins). Ainda preciso exportar do banco de dados remoto e importar de volta no meu servidor local?

Alguém pode sugerir o melhor fluxo de trabalho para mim aqui? E me acompanhe pelos passos.

Além disso, eu provavelmente gostaria de usar o Bitbucket, já que repositórios privados são gratuitos, ao contrário do GitHub.

Qualquer ajuda seria apreciada.

Obrigado antecipadamente!

    
por realph 13.02.2013 / 14:19
fonte

6 respostas

6

Sou um dos desenvolvedores do WP Migrar DB Pro e gostaria de responder às perguntas do @ Ennui pergunta:

"Você sabe se o script de substituição da url do banco de dados executado leva em consideração as seqüências serializadas?"

Sim, ele manipula dados serializados. Na verdade, essa é a principal razão pela qual desenvolvi a versão gratuita do plugin em 2009.:)

Infelizmente, eu só tenho uma reputação de 41, então não pude responder ao comentário do @ Ennui. Desculpe por isso.

    
por bradt 17.05.2013 / 16:25
fonte
4
Estou limitado em votar para encerrar isso como "não construtivo", já que parece ser o tipo de coisa que irá solicitar debate e opinião ao invés de respostas. Mas ...

Não é assim que o meu fluxo de trabalho se parece, e isso torna minha abordagem (e resposta) diferente da maioria das respostas até o momento.

  1. Instalar o WordPress localmente
    1. Isso é clonado a partir de um repositório local do Git, contendo as últimas versão estável.
    2. Eu também mantenho uma cópia local do último lançamento de alguns plugins que Eu quase sempre instalo.
  2. Crie o tema e os plugins necessários
  3. Carregar para um servidor de armazenamento temporário público
    1. O cliente recebe acesso, mas não pode alterar o código e ele é informado as edições do banco de dados não serão transferidas para o site de produção.
    2. Isso significa que não há motivo para baixar o código de volta para o servidor de desenvolvimento.
    3. E não há motivo para ressincronizar o banco de dados local
  4. Faça alterações no site local com base em nossa equipe e no feedback do cliente.
  5. Fazer upload de alterações
  6. Repita conforme necessário (mas com resistência crescente :))
  7. Se estamos fornecendo conteúdo, o que nem sempre é o caso, nós (não o cliente) limpará o banco de dados no servidor de teste e fará o upload conteúdo.
  8. Implante fazendo o upload do código local no site de produção.
  9. Se criamos conteúdo, o conteúdo é exportado do armazenamento temporário    site através da ferramenta de exportação de baunilha e importados para a produção    local.
    1. Esta é a única vez que tenho que mover o banco de dados, e isso é feito com ferramentas bastante padrão. Usarei os URLs de atualização do Velvet Blues para limpar o banco de dados, se necessário.
  10. Depurar
  11. O final

Basicamente, eu mantenho o cliente longe das minhas coisas o máximo possível até entregarmos o site.

O código é movido de uma maneira - do local para a preparação ou a produção. Nunca se move para o outro lado. Isso elimina alguns dos seus passos e me dá um pouco de paz de espírito. Eu não quero ser culpado pelo cliente mexer no meu código e não quero importar algum arquivo hackeado, que é uma possibilidade diferente de zero.

E o banco de dados é movido apenas uma vez, o que reduz bastante o problema. Então eu acho que eu gerenciar o problema "banco de dados em movimento", reduzindo ou removendo a necessidade de mover o banco de dados. Também reduz os problemas de corrupção de banco de dados que podem surgir e reduz as chances de importar um hack.

Verdade, eu tenho que configurar o site de produção - permalinks, menus, etc. - mas isso me força a trabalhar no site de produção, então eu considero isso um tipo de depuração. Isso me ajuda a confirmar que as coisas funcionam no site de produção do jeito que deveriam.

    
por s_ha_dum 17.05.2013 / 17:44
fonte
2

enlace

Eu ainda não tentei fazer isso (ainda), mas ele afirma que implantar tudo - DB incluído.

Há também um tutorial para acompanhar: Tutorial parte 1 | parte 2

    
por Pat J 17.05.2013 / 16:15
fonte
2

Dê uma olhada na pilha de rochas . Ele usa o composer para gerenciar a versão do Wordpress e plugins de terceiros, e também inclui capistrano para implementações e vagrant / ansible para configurar servidores, incluindo servidores virtuais locais para desenvolvimento.

    
por rjmunro 18.07.2014 / 16:28
fonte
2

Recentemente, fiz muitos testes sobre isso e aqui está o fluxo de trabalho que uso, que faz exatamente o que você está pedindo:

  • Eu uso o wp-cli para gerenciar o núcleo do wordpress e atualizar o wordpress.
  • Eu uso o compositor junto com o enlace para gerenciar dependências de plug-ins e temas.
  • Eu uso o git e coloco arquivos wp principais no .gitignore. Então, principalmente wp-config.php e arquivos de tema filho estão no git.

Não estou familiarizado com as ferramentas de migração do banco de dados, mas seria um ótimo complemento para esse fluxo de trabalho.

Aqui estão os detalhes completos sobre o fluxo de trabalho enlace

    
por Patrick Forget 18.07.2014 / 15:13
fonte
1

Em relação ao banco de dados "clonagem", eu uso o WP Migrate DB Pro: enlace

É um serviço pago, mas não custa muito, e permite que você puxe ou empurre facilmente seu banco de dados do seu servidor para o servidor ao vivo e vice-versa. Ele muda as URLs e tudo o mais que precisa mudar no caminho.

    
por deadlyhifi 17.05.2013 / 14:22
fonte