9

Me encanta usar los nuevos perfiles de publicación VS 2012, pero cuando los utilizo en un servidor de compilación no estoy seguro de cómo almacenar la contraseña.VS2012 Perfiles de publicación - Contraseña encriptada

Cuando marque la casilla "guardar la contraseña" creará un archivo .pubxml.user y cifrará la contraseña en un nodo XML.

Cuando ejecuto la implementación en un servidor de compilación, el archivo de contraseñas siempre parece ignorado.

que pueden salirse con el almacenamiento de la contraseña en un

<PropertyGroup> 
    <Password>NotMyRealPassword> 
</PropertyGroup 

embargo, dado que ya se cifrarlo me encantaría utilizar el cifrado VS si puedo.

¿Cómo puedo descifrar y completar la propiedad <Password> sin crear una tarea personalizada para hacerlo?

Además, si tuviera que crear una tarea MSBUILD personalizada, ¿qué tipo de cifrado está en uso en este archivo SUO?

Respuesta

11

Cuando estaba tratando de escribir una respuesta a su pregunta, me di cuenta de que no soy muy adecuado para responder la quetsion, pero sí quería hacer algunos comentarios sobre el archivo .pubxml.user.

Cuando guarda un perfil de publicación web en Visual Studio encriptamos la contraseña y almacenamos el valor cifrado en el archivo .pubxml.user para el perfil de publicación determinado. Encriptamos este valor por usuario/por máquina. Por lo tanto, si toma el mismo archivo en una máquina diferente (o si un usuario diferente inició sesión en la misma máquina) no se descifraría al valor correcto. Debido a esto, no vale la pena investigar si puede descifrar el valor que almacena VS en un servidor de compilación.

+1

Ahhh qué lástima ... Creo en casos como este que CI es el * mejor * lugar para poner esta infoas en condiciones de probar lo que hace su servidor de CI bastante crítico para evitar cualquier fricción de CI/CD. http://www.diaryofaninja.com/blog/2011/03/27/continuous-integration-ndash-itrsquos-all-about-your-build-projects-ecosystem P.s gracias por ser increíble y responder! – Doug

+0

Entonces, después de leer otra de sus publicaciones Sayed, ¿debería pasarla en la línea de comando? Esto se siente un poco "codicioso" para mí. –

+4

Llegó tarde a la fiesta aquí, @Doug, pero puede almacenar la contraseña de msdeploy en el Administrador de credenciales de Windows y usar el parámetro 'getCredential' de msdeploy (sin embargo, no admite las tareas de msbuild) –

Cuestiones relacionadas