Question

Afin d'améliorer le processus de déploiement / génération de mon application ASP.NET, j'aimerais créer un .bat qui

  • construit la solution actuelle en mode publication
  • xcopy les fichiers sur un serveur distant

Créer une version release en ligne de commande est facile.

Mais comment puis-je copier les fichiers sur le serveur distant?

Je pense que je dois mapper la destination distante sur un lecteur réseau (?). Cependant, je ne pouvais pas me connecter au serveur distant, bien que j'aie activé le partage de fichiers pour le dossier sur le serveur. Peut-être que le pare-feu bloque la demande? Quel port dois-je ouvrir? Ou existe-t-il une autre solution?

MODIFIER

Merci pour toutes les réponses reçues à ce jour, mais j’ai probablement besoin d’un guide étape par étape sur la configuration du partage de dossiers sur le serveur. J'ai partagé le dossier, j'ai ouvert le port 445 pour pouvoir me connecter au serveur, mais je ne peux toujours pas me connecter depuis mon ordinateur local au serveur afin de mapper le chemin d'accès réseau sur un lecteur système.

Était-ce utile?

La solution

Puisque vous déployez un site ASP.Net, je suppose que vous êtes dans un environnement Windows (c'est malin? :)).
ALORS ! Oubliez .bat et optez pour POWERSHELL !

Quoi qu'il en soit, ce n'est pas le point de votre question ... Pour copier dans un dossier distant, vous devez avoir les droits pour le faire sur l'ordinateur distant .

Vérifiez si vous avez le même compte sur votre ordinateur local et sur celui distant. Par exemple, si vous êtes connecté à votre ordinateur local dans le domaine "Travail", avec l’identifiant "Pipo", vous devez donner les droits à ce compte pour écrire dans votre dossier spécial sur l’ordinateur distant.

Vous pouvez y parvenir en cliquant avec le bouton droit de la souris sur le dossier, les options de sécurité, puis en sélectionnant l'identité correcte.

Voici un guide étape par étape:

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

Autres conseils

Il peut être intéressant de déplacer les fichiers avec XCOPY via un chemin UNC

  

\\ ordinateur \ dossier

Cela nécessite que vous ayez accès au dossier du serveur d'origine. Vérifiez que le dossier a été partagé et que les autorisations de lecture / écriture correspondantes ont été accordées.

Si le serveur est sur votre réseau local, nous suggérons d'utiliser robocopy au lieu de xcopy - il offre de nombreuses autres options utiles et la possibilité de réessayer en cas d'erreur. Il gère très bien les noms UNC (comme je crois < xcopy ) aussi. Je pense qu’il est disponible sur les nouveaux clients Windows - si ce n’est pas sur votre ordinateur Google, il est disponible dans différents téléchargements de kits de ressources (je ne connais pas les détails de si / quand Microsoft a commencé à les inclure dans la distribution du système l’avait dans mon kit d’utilité depuis très longtemps).

Si le serveur n'est pas local, vous pouvez scripter le client FTP en ligne de commande pour effectuer le transfert. Si vous avez besoin de davantage de flexibilité ou de sécurité, il existe de nombreuses autres options de transfert de fichiers, notamment WinSCP .

Bien sûr, dans les deux cas (serveur local ou distant), les autorisations du serveur et votre authentification doivent être configurés correctement pour que cela puisse fonctionner.

Vous pouvez utiliser n’importe quel chemin UNC: \\ machine \ SharedFolder . Si vous ne souhaitez pas configurer de dossier partagé, vous pouvez référencer l’un des lecteurs de la machine à l’aide du signe $: \\ machine \ c $ \ programme fichiers \ etc . Si vos ordinateurs sont dans Active Directory ou si vous avez un utilisateur local sur l'ordinateur cible avec le même nom d'utilisateur ET le même mot de passe, Windows se chargera de l'authentification de manière transparente.

Avez-vous essayé de le lâcher?

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

Il peut déplacer des fichiers sur des réseaux, exécuter des fichiers de compilation, des masques de fichiers, etc ...

Je l'utilisais auparavant sur des projets .net 1.1.

Je pense que vous voulez:

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

Tout ce qui précède semble constituer de grandes réponses - vous pouvez envisager d'utiliser un script msbuild et les tâches de la communauté msbuild pour faire tout cela - ils peuvent compresser votre version et la transférer vers un serveur distant.

Je viens de configurer cela pour l'un de nos sites, il m'a fallu quelques heures pour le comprendre, mais il construit le site dans sa version actuelle, met à jour les fichiers de configuration pour la production, supprime les fichiers inutiles, puis effectue les tâches suivantes. télécharger.

après avoir cherché tant de réponses, voici la solution

"xcopy D:\\folder\\container \\\\servername\\folder\\container\\ \/E \/H \/Y"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top