Pregunta

Para mejorar el proceso de implementación / compilación de mi aplicación ASP.NET, me gustaría hacer un .bat que

  • crea la solución actual en modo de lanzamiento
  • xcopy los archivos a un servidor remoto

Crear una versión de compilación a través de la línea de comandos es fácil.

¿Pero cómo puedo copiar los archivos al servidor remoto?

Creo que tengo que asignar el destino remoto a una unidad de red (?). Sin embargo, no pude conectarme al servidor remoto, aunque he habilitado el uso compartido de archivos para la carpeta en el servidor. Tal vez el firewall está bloqueando la solicitud? ¿Qué puerto debo abrir? ¿O hay otra solución?

EDIT

Gracias por todas las respuestas hasta ahora, pero probablemente necesito una guía paso a paso sobre cómo configurar la carpeta compartida en el servidor. Compartí la carpeta, abrí el puerto 445 para poder conectarme al servidor, pero aún así, no puedo conectarme desde mi máquina local al servidor para asignar la ruta de la red a una unidad del sistema.

¿Fue útil?

Solución

Dado que está implementando un sitio de ASP.Net, asumo que está en un entorno Windows (¿no es inteligente? :)).
ASI QUE ! ¡Olvídate de .bat y ve por POWERSHELL !

De todos modos, este no es el punto de tu pregunta ... Para copiar en una carpeta remota, debe tener los derechos para hacerlo en la computadora Remota .

Verifique si tiene la misma cuenta en su computadora local y en la remota. Por ejemplo, si ha iniciado sesión en su computadora local en el dominio " Trabajo " con el inicio de sesión '' Pipo '', debe otorgar los derechos a esta cuenta para escribir en su carpeta especial en la computadora remota.

Puede lograrlo con un clic derecho en la carpeta, las opciones de seguridad y luego seleccionando la identidad correcta.

Aquí hay una guía paso a paso:

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

Otros consejos

Puede valer la pena mover los archivos con XCOPY a través de una ruta UNC

  

\\ máquina \ carpeta

Eso requerirá que tenga acceso a la carpeta desde el servidor de origen. Compruebe que la carpeta se ha compartido y que se han otorgado los permisos de lectura / escritura relevantes.

Si el servidor está en su red local, le sugiero que use robocopy en lugar de xcopy : tiene muchas más opciones útiles y capacidad para volver a intentar los errores. Maneja bien los nombres UNC (como creo que xcopy también lo hace). Creo que está disponible en los clientes más nuevos de Windows, si no está en su máquina Google para ello, está disponible en varias descargas de kits de recursos (no sé los detalles de si / cuando Microsoft comenzó a incluirlo en la distribución del sistema operativo porque he Lo tenía en mi kit de utilidad durante mucho, mucho tiempo ahora).

Si el servidor no es local, puede ejecutar el script de la línea de comandos del cliente FTP para realizar la transferencia. Si necesita flexibilidad o seguridad adicionales, hay muchas otras opciones de transferencia de archivos, incluyendo WinSCP .

Por supuesto, en cualquier caso (servidor local o remoto), los permisos del servidor y su autenticación deben configurarse correctamente para que esto tenga la oportunidad de funcionar.

Puede usar cualquier ruta UNC: \\ machine \ sharedFolder . Si no desea configurar una carpeta compartida, puede hacer referencia a cualquiera de las unidades de la máquina con un signo $: \\ machine \ c $ \ program files \ etc . Si sus máquinas están en Active Directory, o si tiene un usuario local en la máquina de destino con el mismo nombre de usuario Y contraseña, Windows manejará la autenticación sin problemas.

¿Has intentado liberarlo?

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

Puede mover archivos a través de redes, ejecutar archivos de compilación previa, enmascaramiento de archivos, etc ...

Solía ??usarlo antes en proyectos .net 1.1.

Creo que quieres:

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

Todo lo anterior parece ser una gran respuesta. Puedes usar un script msbuild y las tareas de la comunidad msbuild para hacer todo esto. Pueden comprimir tu compilación y enviarla a un servidor remoto.

Acabo de configurar esto para uno de nuestros sitios, tardé un par de horas en entenderlo, pero lo construye en versión, actualiza los archivos de configuración para la producción, elimina los archivos innecesarios y luego realiza la subir.

después de buscar tantas respuestas, aquí está la solución

"xcopy D:\\folder\\container \\\\servername\\folder\\container\\ \/E \/H \/Y"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top