Como posso configurar o SVN para implantar quando eu me comprometo?

1

Como posso configurar o SVN para implantar quando eu me comprometo? Eu gostaria de implantar quando eu me comprometo

    
por barroco 11.09.2012 / 23:31

3 respostas

2

Você precisa modificar o gancho post commit. Colocado aqui:

PATH_TO_YOUR_REPO/hooks/post-commit.tmpl

Altere seu nome (ou crie um novo e salve esse para referência futura) para:

PATH_TO_YOUR_REPO/hooks/post-commit

Então chown e chmod deixam seu usuário svn (tipica- mente apache ) executar aquele arquivo:

chown apache.apache PATH_TO_YOUR_REPO/hooks/post-commit
chmod g+x PATH_TO_YOUR_REPO/hooks/post-commit

Supondo que você queira exportar o tronco de seu repositório para um caminho local, aqui está o que eu uso para implantar automaticamente no meu servidor de teste, que também é meu servidor de repositório SVN (não recomendo usar isso para implantar em servidores de produção, um script personalizado para isso). Isso procurará uma tag **DEPLOY** em sua mensagem de confirmação e implementará apenas se for esse o caso.

#!/bin/sh
REPO="$1"
REV="$2"

if ( svnlook log -r $REV $REPO | grep "**DEPLOY**" ) then
    svn export --force -r $REV "file://$REPO/trunk" /var/www/html/yourapp
fi
    
por 12.09.2012 / 00:05
1

veja a seção de scripts do hook em Criação e configuração de repositório você pode escrever um script de shell para faz praticamente qualquer coisa / em qualquer lugar ...

    
por 11.09.2012 / 23:56
0

É possível, mas não recomendado usar o gancho post commit. Isso fará com que o desenvolvedor aguarde até que a confirmação seja concluída até que a execução do gancho tenha terminado.

Para uma solução profissional, a ferramenta de Integração Contínua deve ser usada, como: CruiseControl, Jenkins ou uma das muitas outras.

    
por 23.02.2015 / 18:43