Wordpress com Git

20

Estou fazendo essa pergunta porque pesquisei na internet, mas não encontrei 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, mas como sabemos que no wordpress tudo é mantido em um banco de dados como o plugin ativo e o que não é.

Se os desenvolvedores instalarem plugins em seus projetos locais do que como eles se comunicam entre si, cada um deve instalar esse plug-in ou plugins em particular, e alguma falha de comunicação pode quebrar o site dos outros se cada desenvolvedor empurrar / puxar o código.

Devemos também compartilhar o banco de dados para compartilhar as configurações dos plug-ins / temas para que não haja conflitos ou pequenos conflitos entre os desenvolvedores.

Obrigado

    
por Najam-us-Saqib 23.08.2016 / 08:37

5 respostas

17

Git para plugins :

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

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

Definitivamente, devemos compartilhar o banco de dados. Reconfigurar as configurações / opções do plugin não é uma boa ideia.

muitos plugins , gratuitos e premium, que podem ajudar.

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

    
por MinhTri 23.08.2016 / 10:39
7

A melhor solução que vi para isso é usar o Bedrock ( enlace ).

As outras respostas a esta pergunta (Composer e algo para gerenciar seus plugins) são boas respostas; mas a Bedrock oferece uma maneira sistematizada, com suporte, documentada e continuamente aprimorada de fazer isso, o que é preferível a você mesmo.

Além disso, lembre-se de que você pode ter mais de um git repo - um para o seu tema, um para cada plug-in personalizado que você desenvolve e um "mestre" para a instalação do Bedrock / Wordpress.

    
por Chris S 23.08.2016 / 15:21
7

Minha equipe enfrentou um problema semelhante. Usamos git para versionar nosso próprio código customizado como plugins e o tema que escrevemos. Nós 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 em sincronia. Espera-se que cada desenvolvedor extraia a ramificação principal do git e execute composer update em seus parques de jogo com frequência para que todos permaneçam atualizados.

No banco de dados, os desenvolvedores se importam principalmente com a configuração, e geralmente usamos WP-CLI para manter a configuração em sincronia. Por exemplo, temos um script de shell que executa um comando WP-CLI para ativar ou desativar plug-ins por host; alguns plug-ins são usados apenas em nosso host de preparação de conteúdo, por exemplo, para que o script possa ser executado em qualquer host e só ative o conjunto apropriado nesse host. Algumas configurações que consomem tempo demais no script são documentadas e reproduzidas manualmente, se necessário.

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

  • dump mySQL do banco de dados do servidor de armazenamento temporário de conteúdo, nomes de tabelas de mudança, carregamento no banco de dados do servidor de destino
  • use wp-cli para alterar referências ao servidor de temporariedade no banco de dados para se referir ao servidor de destino
  • sincronize 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 pode haver outros.

Eu escrevi mais detalhes de como configuramos o WordPress para trabalhar com o git e o Composer no meu blog. Foi necessário rodar com o WordPress core 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 próprio WordPress como uma dependência e o gerenciamos com o Composer.

    
por spacegrrl 23.08.2016 / 22:33
0

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

Usamos o git e o compositor para manter os diferentes ambientes de desenvolvimento atualizados. Basta puxar as últimas alterações e re-executar o compositor e você está pronto para ir.

    
por Ben Romijn 23.08.2016 / 10:01
0

Para isso, primeiro precisamos entender a estrutura de diretórios do WordPress. A estrutura de diretórios do WordPress não é amigável para usar git com ele. Então eu sugiro que você use isso com git arquitetura modificada amigável. Não, não precisa entrar em pânico. Você não precisa necessariamente criar isso. Há muito desse tipo de clichê ou sistema WordPress estruturado por aí. Basta escolher um deles e começar a codificar.

Agora, chegue ao ponto de escrever códigos bem organizados ou código passível de manutenção. Na verdade, colocamos nosso código em wp-content\themes\your-theme ou wp-content\themes\your-theme . Portanto, na maior parte do texto padronizado do WordPress, git , a parte wp-content é separada. E eles principalmente puxam o repo WordPress throuh composer . Torna o projeto completo muito mais limpo.

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

Agora, venha para a parte mais importante, como sincronizar o banco de dados. Eu acho que poderia ser feito mais facilmente abaixo de 2 maneiras -

  • Todo o desenvolvedor deve usar um banco de dados remoto. E freqüentemente crie um backup dele.
  • Automatizar a instalação de exportação de importação de WordPress. Parece complicado, mas não é. Basta fazer algum google, espero que você possa fazer isso.

Espero que isso ajude você.

    
por CodeMascot 23.08.2016 / 10:52

Tags