Pergunta

No trabalho, temos um servidor Windows 2003 com o IIS e Subversion instalado. Nós a usamos para publicar e testar localmente sites nossa ASP.NET. Cada programador tem Tortoise instalado no seu PC e pode atualizar / confirmar o conteúdo para o servidor. Hospedagem dos repositórios é funcionando bem. Mas os arquivos mantidos nesses repositórios precisa então ser copiado para o nosso local IIS (diretórios virtuais).

O que é uma maneira fácil de publicar esses repositórios subversion ao nosso IIS local?

Edit:
Graças à puetzk eu adicionei um arquivo bat simples que é executado cada vez que um commit ocorre (verifique o documentação subversão sobre ganchos). Meu arquivo bat contém apenas:

echo off
setlocal

:: Localize the working copy where IIS points)
pushd E:\wwwroot\yourapp\trunk
:: Update your working copy
svn update

endlocal
exit
Foi útil?

Solução

  1. Apenas manter a área de arquivos do servidor web como uma cópia de trabalho, e realizar um svn-se nele sempre que quiser "publicar". Configurá-lo para ocultar o conteúdo das pastas .svn se eles parecem untidy para você (eu não especificamente sabe como fazer isso, mas eu suponho que isso pode ser feito). Eles já terá o bit sistema de arquivos ocultos, que pode cuidar disso.

  2. Se você quer que ele realmente automáticas (atualizações assim que alguém comete), use um script post-commit gancho no servidor SVN para lançar o primeiro processo.

Outros nos comentários sugeriram o uso de exportação em vez de checkout. Que pode funcionar também, e evita a desordem .svn, mas tem duas desvantagens. Um, ele tem que baixar novamente todo o conteúdo de cada vez, e não apenas os arquivos modificados (uma vez que não manter o .svn dir lembrar o que ele tem). Se você tem um monte de arquivos, isso vai ser muito mais lento. Dois, atualização substitui o arquivo atomicamente (escreve a nova versão em .svn / tmp, então se move-lo no lugar). Exportação grava o arquivo gradualmente em seu destino durante o download. Que a exportação meios poderia entregar um arquivo incompleto para alguém que navegavam-lo apenas no momento errado.

Outras dicas

SVN não suporta IIS; No entanto, pode executar o servidor autônomo svnserve como um serviço do Windows .

Há o SVN FAQ entrada sobre isso, e este blog post sobre Vertigo Software blogue pode ser útil também.

UPDATE: Após seu esclarecimento, vejo que o que você está procurando uma forma de atualizar automaticamente o código no servidor depois que o check-in. Olhe em CruiseControl.NET , depois de olhar para o integração subversão tutorial parece que ele deve fazer o que quiser.

UPDATE 2: Este tutorial descreve integrando Subversion, CruiseControl.NET e Nant .

talvez SVNIsapi pode resolver o problema ( http://www.svnisapi.com ). Porque ele só utiliza uma instalação IIS, portanto, você não precisa de um servidor Apache ou um serviço svnserver. Em segundo lugar, deve ser possível colocar o plug-in ASP.NET ISAPI para o processamento de SVNISAPI, de modo que um (.aspx) ASP.NET será interpretado após lida a partir do repositório.

Felicidades Paolo

Use pode usar o livre Visual-SVN Servidor para instalar rapidamente Subversion com a parte frontal Apache. Ele também tem um bom snap-in para gerenciar o servidor e repositórios.

Você vai do que a possibilidade de acesso a subversão com HTTP ou HTTPS, mas o número da porta deve ser diferente da que seus usos do IIS locais (porta padrão para o servidor Visual-SVN é 8080).

Se você realmente precisa para acessar os repositórios através do seu porta IIS local 80, você pode tentar SVN-IIS que atua como uma ponte entre o IIS e Apache. Eu não tentei isso mesmo embora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top