Como desplegar un sitio en Azure #4

Para hoy sigo con la sección de desplegar un sitio desde un sistema de control on-premises de este link.  En el texto lo hacen desde la herramienta Microsoft Team Foundation Server (TFS) y desde Git o Mercurial.  ¡Manos a la obra!

Team Foundation Server (TFS)

Entrega continua para servicios en la nube en azure

Como pre-requisitos, se debe de tener instalado en el servidor:

  • .NET Framework 4 o 4.5
  • Azure authoring tools: En lugar de seguir el link que ahí proponen, mejor busque el nombre del archivo como tal y lo descarga (WindowsAzureAuthoringTools-x86.msi o WindowsAzureAuthoringTools-x64.msi).
  • Windows Azure Libraries: Al igual que el anterior, busque el archivo directamente (WindowsAzureLibsForNet-x86.msi o WindowsAzureLibsForNet-x64.msi).
  • Hay que copiar el Microsoft.WebApplication.targets en el servidor si no tiene instalado visual studio, y debe de ser dentro de la misma carpeta (cree la ruta).
  • Azure Tools for Visual Studio: Busque elarchivo WindowsAzureTools.VS110.exe y lo instala.

Luego de todo instalado, se procede a crear el paquete, y acá comenzó el primer problema.  Hay que correr el comando MSBuild /target:Publish para que se cree el paquete, pero al hacerlo obtuve el siguiente error:

error MSB4126: The specified solution configuration ”
Debug|X64″ is invalid. Please specify a valid solution configuration using the
Configuration and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configu
ration=Debug /p:Platform=”Any CPU”) or leave those properties blank to use the
default solution configuration.

build_error_1Investigando un poco, al comando adicional le fui agregando parámetro acorde a lo que iba encontrando, y esto es lo que fue sucediendo:

MSBuild /target:Publish /m

The specified solution configuration “Debug|X64″ is invalid. Please specify a valid solution configuration using the Configuration and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform=”Any CPU”) or leave those properties blank to use the default solution configuration.

build_error_2

MSBuild /target:Publish /m /p:Configuration=Debug /p:Platform=”Any CPU”

error MSB4019: The imported project “C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Windows Azure Tools\2.4\Microsoft.WindowsAzure.targets” was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Build_Error

En este punto, buscando el error en Internet, casi daño por completo el proyecto: sugerían borrar unos archivos, mover otros, en fin.  Luego de recuperar y de analizar mejor, me di cuenta de que por alguna extraña razón, el msbuild estaba buscando los targets en la carpeta equivocada: mi proyecto está en Visual Studio 2013 y por defecto se estaba yendo a la carpeta de Visual Studio 2012.  ¿La solución? Agregar al comando del build la version para que vaya directamente a la carpeta correcta.  Por alguna razón existe ese bug para la versión 2013.

MSBuild /target:Publish /m /p:Configuration=Debug /p:Platform=”Any CPU” /p:VisualStudioVersion=12.0

Version11

Version12

Obtuve estos dos warnings, investigué un poco al respecto, pero al momento de testear todo funcionó correctamente así que no le gasté tampoco mucha energía a corregirlos.

2>WebRole1 : warning WAT170: The configuration setting ‘Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString’ is set up to use the local storage emulator for role ‘WebRole1’ in configuration file ‘ServiceConfiguration.Cloud.cscfg’. To access Microsoft Azure storage services, you must provide a valid Microsoft Azure storage connection string. [C:\Users\Virtuosity_2\Source\Workspaces\MyExample\AzureCloudService1\AzureCloudService1\AzureCloudService1.ccproj]
2>WebRole1 : warning WAT230: The connection string ‘DefaultConnection’ isusing a local database ‘(LocalDb)\v11.0’ in project ‘WebRole1’. This connection string will not work when you run this application in Microsoft Azure. To access a different database, you should update the connectionstring in the web.config file. \r [C:\Users\Virtuosity_2\Source\Workspaces\MyExample\AzureCloudService1\AzureCloudService1\AzureCloudService1.ccproj]
WebRole1 : warning WAT230: For more details about this, see the following help page: http://go.microsoft.com/fwlink/?LinkId=224877
Warnings

Desde Team Explorer si todo fue tal cual como lo explicaban, en este punto no hay mucho que agregar.

La última opción es a través de PowerShell.  Lo primero es instalarlo, pero hay que tener en cuenta la recomendación de que debe ser “snap-in”.  Si usted no sabe dónde conseguir el archivo con la información de la subscripción que hay que cargar, le recomiendo que siga este link.

Debo decir que esta parte no la disfruté mucho, tuve que cacharrear más de lo que me gusta, y me pareció muy complicado.  Creo que entre todas las opciones será mi última opción en caso de tener que elegir.

La parte de GIT es la repetición de la repetidera, nada que no se haya visto antes por acá, así que por locha la obvié.

Hasta el siguiente miércoles.

 

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s