XCOPY ao servidor remoto
-
05-07-2019 - |
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.
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:
Outras dicas
Pode valer a pena mover os arquivos com XCOPY através de um caminho UNC
\\ machine \ pasta ??p>
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"