Domanda

Per migliorare il processo di distribuzione / compilazione della mia app ASP.NET, vorrei creare un .bat che

  • crea la soluzione corrente in modalità di rilascio
  • xcopy i file su un server remoto

La creazione di una build di rilascio tramite riga di comando è semplice.

Ma come posso copiare i file sul server remoto?

Penso di dover mappare la destinazione remota su un'unità di rete (?). Tuttavia non sono riuscito a collegarmi al server remoto, sebbene abbia abilitato la condivisione dei file per la cartella sul server. Forse il firewall sta bloccando la richiesta? Quale porta devo aprire? O c'è un'altra soluzione?

Modifica

Grazie per tutte le risposte finora, ma probabilmente ho bisogno di una guida passo passo su come impostare la condivisione delle cartelle sul server. Ho condiviso la cartella, ho aperto la porta 445 in modo da poter connettermi al server ma non riesco ancora a connettermi dal mio computer locale al server per mappare il percorso di rete su un'unità di sistema.

È stato utile?

Soluzione

Poiché stai distribuendo un sito ASP.Net, presumo che tu sia in un ambiente Windows (non è intelligente? :)).
COSÌ ! Dimentica .bat e scegli POWERSHELL !

Comunque, questo non è il punto della tua domanda ... Per copiare in una cartella remota dovresti avere i diritti per farlo sul computer Remoto .

Controlla se hai lo stesso account sul tuo computer locale e su quello remoto. Ad esempio, se hai effettuato l'accesso al computer locale nel dominio " Lavoro " con il login " Pipo " ;, devi dare i diritti a questo account per scrivere nella tua cartella speciale sul computer remoto.

Puoi farlo con un clic destro sulla cartella, le opzioni di sicurezza e quindi selezionando l'identità corretta.

Ecco una guida dettagliata:

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

Altri suggerimenti

Potrebbe valere la pena spostare i file con XCOPY tramite un percorso UNC

  

\\ \ cartella della macchina

Ciò richiederà l'accesso alla cartella dal server di origine. Verificare che la cartella sia stata condivisa e che siano state concesse le autorizzazioni di lettura / scrittura pertinenti.

Se il server si trova sulla tua rete locale, suggerirei di usare robocopy invece di xcopy - ha molte più opzioni utili e capacità di riprovare sugli errori. Gestisce bene i nomi UNC (come credo anche xcopy ). Penso che sia disponibile su client Windows più recenti - se non è sul tuo computer Google per questo - è disponibile in vari download di kit di risorse (non conosco i dettagli di se / quando Microsoft ha iniziato a includerlo nella distribuzione del sistema operativo perché ho ce l'ho nel mio kit di utilità da molto, molto tempo ormai).

Se il server non è locale, è possibile eseguire lo script del client FTP della riga di comando per eseguire il trasferimento. Se hai bisogno di maggiore flessibilità o sicurezza, ci sono molte altre opzioni di trasferimento dei file, tra cui WinSCP .

Ovviamente in entrambi i casi (server locale o remoto), le autorizzazioni del server e la tua autenticazione devono essere impostate correttamente affinché ciò abbia la possibilità di funzionare.

Puoi utilizzare qualsiasi percorso UNC: \\ machine \ sharedFolder . Se non si desidera impostare una cartella condivisa, è possibile fare riferimento a qualsiasi unità sul computer utilizzando un segno $: \\ machine \ c $ \ program files \ etc . Se i tuoi computer sono in Active Directory o se hai un utente locale sul computer di destinazione con lo stesso nome utente e password Windows gestirà senza problemi l'autenticazione.

Hai provato a scatenarlo?

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

Può spostare file attraverso le reti, eseguire file bat pre-build, mascheramento di file, ecc ...

Prima lo usavo su progetti .net 1.1.

Penso che tu voglia:

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

Tutte le precedenti sembrano essere grandi risposte - potresti guardare usando uno script msbuild e le attività della community msbuild per fare tutto questo - possono comprimere la tua build e inviarla ad un server remoto.

L'ho appena impostato per uno dei nostri siti, ci sono volute un paio d'ore per capirlo, ma crea il sito in versione, aggiorna i file di configurazione per la produzione, rimuove i file non necessari e quindi fa il caricare.

dopo aver cercato così tante risposte qui è la soluzione

"xcopy D:\\folder\\container \\\\servername\\folder\\container\\ \/E \/H \/Y"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top