Eu desenvolvo meu plugin no github, mas quando se trata de implantação, tenho que copiar minhas alterações no Wordpress SVN . Atualmente, faço isso manualmente e copio cada arquivo em cada diretório individualmente, mas isso consome tempo e é propenso a erros.
Eu já vi e experimentei alguns scripts, mas acho que devo executá-los incorretamente, pois eles cometem erros ou não copiam os arquivos corretamente.
Então, minha pergunta é: alguém conseguiu isso automaticamente? Em caso afirmativo, como você fez isso?
Obrigado!
Respostas:
consulte este tutorial de um colega de trabalho da minha equipe: http://www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn
mas ele não usa a solução, é mais fácil trabalhar em separado :(
fonte
Depois de ler essas respostas, enviei um dos meus plugins para o GitHub e escrevi um script release.sh . Esse script obtém uma verificação parcial do meu plugin em plugins.svn.wordpress.org usando
--depth immediates
e atualiza os arquivos emtrunk/
eassets/
. Isso deve simplificar um envio periódico ao svn, usando o repositório wordpress.org para marcar lançamentos em vez de manter o histórico de desenvolvimento:Uma versão mais genérica pode funcionar com uma variedade maior de plugins, manipular arquivos excluídos e atualizar automaticamente as tags svn com base nas tags git.
fonte
Consulte Como publicar um plug-in WordPress - Git no @EAMann para obter uma descrição detalhada.
fonte
A pergunta era antiga, mas agora a solução já está disponível com ações do GitHub. Recentemente, o GitHub adicionou o Github Actions ao fluxo de trabalho automatizado do repositório GitHub.
E a conhecida empresa 10up criou o "Action WordPress Plugin Deploy".
É muito fácil de configurar. E como o @otto diz que não precisamos enviar cada alteração para svn, podemos definir a automação enquanto criamos uma nova tag no github.
Portanto, nosso plug-in do github envia automaticamente o código ao repositório do WordPress quando criamos uma nova tag de lançamento.
Links Úteis:
fonte
Eu não faço isso automaticamente, mas é bem simples:
Faça com que o SVN truck e o Git master façam check-out no mesmo diretório. Use o Git para quase tudo, como faria com qualquer projeto somente do Git.
Defina
stable tag
comotrunk
e, quando estiver pronto para fazer um lançamento, marque-o no Git e empurre imediatamente para o tronco. Não se preocupe em enviar para o SVN/tags
, pois seu histórico de versões é seguro no Git (e no Github).É sobre isso.
Para limpá-lo, eu adiciono
.svn
a.gitignore
, e.git
(etests/
,phpunit.xml
, etc.) para ser ignorado por SVN.Um script release.sh não seria nada além do seguinte (uma vez que o número da versão no código tenha sido atualizado e todos comprometidos com o Git):
fonte