Pergunta

A fim de melhorar o processo de implantação / construção do meu aplicativo ASP.NET, eu gostaria de fazer uma .bat que

  • constrói a solução atual no modo de versão
  • xcopy os arquivos para um servidor remoto

Criar uma compilação de lançamento via linha de comando é fácil.

Mas como posso xcopy os arquivos para o servidor remoto?

Eu acho que tenho para mapear o destino remoto para uma unidade de rede (?). No entanto eu não poderia ligar para o servidor remoto, apesar de eu ter habilitado o compartilhamento de arquivos para a pasta no servidor. Talvez o firewall está bloqueando o pedido? Qual porta devo abrir? Ou existe outra solução?

Editar

Obrigado por todas as respostas até agora, mas eu provavelmente precisará de um guia passo a passo sobre como configurar o compartilhamento de pastas no servidor. Eu compartilhei a pasta, eu abri a porta 445 para que eu possa conectar ao servidor mas ainda assim, eu não posso ligar a partir de minha máquina local para o servidor, a fim de mapear o caminho de rede para uma unidade do sistema.

Foi útil?

Solução

Uma vez que você estiver implantando um site ASP.Net, eu estou supondo que você está em um environnement janelas (não é inteligente? :)).
TÃO ! Esqueça .bat e ir para POWERSHELL !

De qualquer forma, isso não é ponto de sua pergunta ... Para copiar a um remoto pasta você deve ter o direito de fazê-lo no Remoto computador.

Verifique se você tem a mesma conta no seu computador local e por um controle remoto. Por exemplo, se você estiver conectado no computador local no domínio "trabalho" com o login "Pipo", você deve dar os direitos para esta conta para escrever em sua pasta especial no computador remoto.

Você pode conseguir isso com um clique direito sobre a pasta, opções de segurança, e em seguida, selecionando a identidade correta.

Aqui está um guia passo-a-passo:

http://support.microsoft.com/kb/301281

Outras dicas

Pode valer a pena mover os arquivos com XCOPY através de um caminho UNC

\\ machine \ pasta

Isso vai exigir que você tem acesso a pasta a partir do servidor de origem. Verifique se a pasta foi compartilhada e que as permissões de leitura / gravação relevantes foram concedidas.

Se o servidor estiver em sua rede local, eu sugiro usar robocopy vez de xcopy - tem muitas opções mais úteis e capacidade de repetição em erros. Ele lida com nomes UNC bem (como eu acredito xcopy faz também). Eu acho que ele está disponível em clientes mais recentes do Windows - se não é em sua máquina Google para ele - ele está disponível em vários de downloads do kit de recursos (Eu não sei os detalhes, se / quando a Microsoft começou a incluí-lo na distribuição OS porque eu tenho tinha em minha kit de utilidade por um longo, longo tempo agora).

Se o servidor não é local, você pode script do cliente de linha FTP comando para realizar a transferência. Se você precisa de flexibilidade ou segurança adicional, existem muitas outras opções de transferência de arquivos, incluindo WinSCP .

É claro que em ambos os casos (servidor local ou remoto), as permissões do servidor e suas necessidades de autenticação para ser configurado corretamente para que isso tem uma chance de trabalho.

Você pode usar qualquer caminho UNC: \\machine\sharedFolder. Se você não quiser configurar uma pasta compartilhada, você pode fazer referência a qualquer uma das unidades na máquina usando um sinal $: \\machine\c$\program files\etc. Se as máquinas estão em Active Directory, ou se você tiver um usuário local na máquina de destino com o mesmo nome de usuário e senha do Windows irá lidar com a autenticação integrada.

Você já tentou isso desencadeie?

http://www.eworldui.net/unleashit/

É possível mover arquivos através de redes, executar arquivos de construção de morcego pré, mascaramento de arquivos, etc ...

Eu costumava usá-lo antes na NET 1.1 projectos.

Eu acho que você quer:

XCOPY c:\myproject\build\*.* \\server\\build\ /S /E

Todas as anteriores parecem ser grandes respostas - você pode olhar para usando um script msbuild e as tarefas comunitárias msbuild para fazer tudo isso -. Eles podem fechar acima de sua construção e ftp-lo para um servidor remoto

Eu apenas configurá-lo para um dos nossos sites, levou um par de horas para obter minha cabeça em torno dele, mas ele constrói o site na liberação, atualiza os arquivos de configuração para a produção, remove arquivos desnecessários e, em seguida, faz o upload.

depois de olhar para muitas respostas aqui está a solução

"xcopy D:\\folder\\container \\\\servername\\folder\\container\\ \/E \/H \/Y"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top