Wordpress com Git

21

Estou fazendo esta pergunta porque pesquisei na internet, mas não consigo encontrar a solução certa. Na verdade, eu quero uma solução na qual vários desenvolvedores possam trabalhar em um único projeto wordpress sem criar nenhuma confusão entre si, mas como sabemos que no wordpress tudo é mantido no banco de dados, como qual plugin está ativo ou não.

Se os desenvolvedores instalam plug-ins em seu projeto local, não como eles se comunicam, todos devem instalar esse plug-in ou plugins em particular, etc.

Também devemos compartilhar o banco de dados, para compartilhar as configurações de plugins / temas, para que não haja conflitos ou pequenos conflitos entre os desenvolvedores.

obrigado

Najam-us-Saqib
fonte
5
O wp-cli.org ajudará bastante no seu fluxo de trabalho.
precisa saber é
1
Se possível, mude para jekyll ou similar.
Jens Schauder
Jekyll é cozido no github, o que obviamente funciona bem com git ...
DaveRGP
FWIW, colisões e conflitos não são completamente removidos ao usar algo como Git, apenas permite que você mantenha esses conflitos fora do seu caminho até estar pronto para "mesclá-los".
1
Todos os desenvolvedores podem compartilhar um banco de dados comum hospedado publicamente e se comprometer com o GIT para controle de versão?
MonkeyZeus

Respostas:

18

Git para plugins :

Em seguida, use o Git para gerenciar composer.jsone as alterações no plug-in TGM.

A parte mais difícil é sincronizar o banco de dados :

Definitivamente, devemos compartilhar banco de dados. Reconfigurar as configurações / opções de um plug-in não é uma boa ideia.

Existem muitos plugins , gratuitos e premium, que podem ajudar.

Se você quiser tentar algo manualmente, incorpore o wp-cli com a resposta do @Wyck.

MinhTri
fonte
8

Minha equipe enfrentou um problema semelhante. Usamos o git para versão do nosso próprio código personalizado, como plugins e o tema que escrevemos. Usamos o Composer para gerenciar dependências, como plugins que não escrevemos. Verificamos os arquivos composer.json e composer.lock no git para manter todos sincronizados. Espera-se que cada desenvolvedor puxe a ramificação principal do git e execute composer updateseus playpens frequentemente, para que todos se mantenham atualizados.

No banco de dados, os desenvolvedores se preocupam principalmente com a configuração, e geralmente usamos o WP-CLI para manter a configuração sincronizada. Por exemplo, temos um script de shell que executa um comando WP-CLI para habilitar ou desabilitar plug-ins por host; alguns plug-ins são usados ​​apenas em nosso host de armazenamento temporário de conteúdo, por exemplo, para que o script possa ser executado em qualquer host e habilite apenas o conjunto apropriado nesse host. Alguma configuração que consome muito tempo para script é apenas documentada e reproduzida manualmente, se necessário.

Também temos um script perl que clonará completamente o banco de dados do nosso servidor de armazenamento temporário para um host de controle de qualidade ou de desenvolvimento. Os desenvolvedores podem usar isso periodicamente se quiserem todo o conteúdo atual, embora isso geralmente seja menos importante do que ter o código e a configuração. O script executa estas tarefas:

  • despejo mySQL do banco de dados do servidor de armazenamento temporário, altere os nomes das tabelas, carregue no banco de dados do servidor de destino
  • use wp-cli para alterar as referências ao servidor intermediário no banco de dados para se referir ao servidor de destino
  • sincronizar o diretório de uploads no servidor de destino com os uploads do servidor de armazenamento temporário de conteúdo

Existem algumas soluções promissoras para a versão do banco de dados que estão surgindo rapidamente. VersionPress e Mergebot são os dois que eu conheço e podem haver outros.

Eu escrevi mais detalhes técnicos de como configuramos o WordPress para trabalhar com o git e o Composer no meu blog. Era necessário executar com o núcleo do WordPress em seu próprio diretório para fazer uma separação limpa entre o código que queremos manter no git e no núcleo do WordPress. Tratamos o WordPress em si como uma dependência e o gerenciamos com o Composer.

spacegrrl
fonte
7

A melhor solução que eu já vi para isso é usar o Bedrock ( https://roots.io/bedrock/ ).

As outras respostas a esta pergunta (Composer e algo para gerenciar seus plugins) são boas respostas; mas a Bedrock fornece uma maneira sistematizada, suportada, documentada e continuamente aprimorada de fazer isso, que é preferível a criar sua própria.

Além disso, lembre-se de que você pode ter mais de um repositório git - um para o seu tema, um para cada plug-in personalizado desenvolvido e, em seguida, um 'master' para a instalação do Bedrock / Wordpress.

Chris S
fonte
"O Bedrock fornece uma maneira sistematizada, suportada, documentada e continuamente aprimorada de fazer isso, que é preferível a criar o seu próprio". Pode confirmar, Bedrock é ótimo! Use-o com o Sage (desenvolvido pelas mesmas pessoas, Roots) e o desenvolvimento personalizado em uma equipe é decentemente gerenciável. Ainda há soluços, e a resposta @ Dan9 é mais completa, mas não posso cantar os elogios de Bedrock o suficiente!
samrap 23/08/16
Como desenvolvedor de MVC, eu concordo, mas o tipo de trabalho em que faço sites WordPress é fortemente baseado em front-end, de modo que a configuração de gerenciamento de ativos no Sage vale a pena a prática recomendada ocasionalmente de global.
samrap 24/08/16
0

Se for absolutamente necessário que você tenha todos os mesmos plugins instalados trabalhando no tema ou um plug-in personalizado, eu também compartilharia o banco de dados.

Usamos git e compositor para manter os diferentes ambientes de desenvolvimento atualizados. Basta puxar as alterações mais recentes e executar novamente o compositor e pronto.

Ben Romijn
fonte
0

Para isso, primeiro precisamos entender a estrutura de diretórios do WordPress. A estrutura de diretórios do WordPress não é tão fácil de usar git. Então, eu sugiro que você use isso com gitarquitetura modificada bastante amigável. Não, não precisa entrar em pânico. Você não precisa necessariamente criar isso. Existem muitos desses tipos de clichê ou sistema estruturado do WordPress por aí. Basta escolher um deles e começar a codificar.

Agora chegue ao ponto de escrever um código bem organizado ou um código de manutenção. Na verdade, colocamos nosso código em wp-content\themes\your-themeou wp-content\themes\your-theme. Assim, na maioria dos gitclichês amigáveis ​​do WordPress, a wp-contentparte é separada. E eles puxam principalmente o repositório do WordPress composer. Torna o projeto completo muito mais limpo.

A sincronização de plug-ins é outra parte importante. Seria melhor se você instalar o seu plugin através composer. Isso torna o código do projeto muito mais limpo. Aqui você terá uma visão geral de como instalar os plugins do WordPress composer.

Agora chegue à parte mais crucial, como sincronizar o banco de dados. Eu acho que poderia ser feito mais facilmente de duas maneiras abaixo -

  • Todo o desenvolvedor deve usar um banco de dados remoto. E frequentemente crie um backup dele.
  • Automatize o recurso de exportação e importação do WordPress. Parece complicado, mas não é. Basta fazer um pouco de google, espero que você possa fazer isso.

Espero que ajude você.

CodeMascot
fonte