Pregunta ¿Cómo configuro MSBuild para usar un publishProfile guardado para WebDeploy?


He usado Visual Studio para crear un perfil de publicación. Guardó esa información en MyProject.Publish.xml, que se encuentra en la raíz del directorio de mi proyecto.

Me gustaría que la tarea MSBuild que se ejecuta en mi servidor CI use ese archivo como su configuración base. Idealmente, si pudiera anular las propiedades a través de los parámetros de la línea de comando, eso sería rockear.

es posible? Si es así, ¿cuál es la sintaxis?

Por ejemplo, estoy buscando algo como:

MSBuild MyProject.csproj /P:UsePublishProfile=True /P:UserName=deployUser /P:Password=MyPassword

32
2018-02-03 18:42


origen


Respuestas:


Lamento decirte que el archivo publish.xml que usa VS2010 no está diseñado para ser utilizado de esta manera. De hecho, ni siquiera fue diseñado para ser registrado / compartido con otros.

La lógica para leer / escribir esos archivos está estrictamente contenida dentro de Visual Studio y no está disponible a través de MSBuild. Entonces, no hay una manera directa de hacer esto hoy. Debe ingresar los nombres / valores de las propiedades individuales cuando llama a msbuild.exe. Puedes ver una pregunta similar a la que respondí en Team Build: Publica localmente usando MSDeploy para más información.

Nota para VS 11 Developer Preview

Para que sepas, hemos abordado esto en la próxima versión de Visual Studio. Puede ver si descarga la vista previa del desarrollador de VS 11. Ahora todos los perfiles se guardan en sus propios archivos (bajo PublishProfiles en el nodo Propiedades en Solution Explorer). Ahora están diseñados para ser registrados y compartidos con los miembros del equipo. Estos archivos ahora son archivos de MSBuild y puede personalizarlos si lo desea. Para publicar desde la línea de comando, simplemente pase DeployOnBuild = true y establezca PublishProfile en el nombre del perfil. Por ejemplo:

msbuild.exe MyProject.csproj /p:DeployOnBuild=true;PublishProfile=MyProfile

43
2017-12-29 04:52