ACTUALIZAR esta pregunta ha evolucionado y se ha ampliado, en función de las respuestas dadas hasta el momento.Implementar Orchard.Source en Azure a través de GIT
Quiero dos cosas: (1) Visual Studio como mi entorno de desarrollo Orchard y (2) GIT como medio para impulsar a Azure. Para lograr esto, descargué la distribución Orchard.Source en lugar de la distribución Orchard.Web.
Entonces, utilicé GIT para publicar la distribución Orchard.Source.1.5.1 desde un repositorio en mi máquina local a un sitio web de Azure (tecnología de vista previa). El despliegue funcionó, pero la acumulación posterior sobre Azure fracasó porque no pudo determinar qué solución era "el uno" debe construir:
remoto: No se puede determinar qué archivo de solución a construir. C: \ DWASFiles \ Sites \ MySite \ VirtualDirectory0 \ site \ repository \ src \ Orchard.sln, C: \ DWASFiles \ Sites \ MySite \ VirtualDirectory0 \ site \ repository \ src \ Orchard.Azure \ Orchard.Azure.sln, C: \ DWASFiles \ Sites \ MySite \ VirtualDirectory0 \ site \ repository \ src \ Orchard.Azure \ Orchard.Azure.Web \ Modules \ Orchard.ContentTypes \ Orchard.ContentTypes.sln, C: \ DWASFiles \ Sites \ MySite \ VirtualDirectory0 \ site \ repository \ src \ Orchard.Azure.Tests \ Orchard.Azure.Tests.sln, C: \ DWASFiles \ Sites \ MySite \ VirtualDirectory0 \ site \ repository \ src \ Orchard.Web \ Modules \ Orchard.ContentTypes \ Orchard.ContentTypes.sln. remoto: Error - Cambios comprometidos con el repositorio remoto pero su sitio web no actualizado.
La primera solución Azure también figuran en dicho vertedero es la que se debe utilizar. ¿Cómo le digo eso a Azure?
Con la ayuda de David Ebbo, ahora entiendo que yo estaba haciendo la pregunta equivocada:
- el problema se resuelve con un archivo '.deployment' configuración y
que apunta a la 'correcta' ¡La solución de Visual Stuio es incorrecta! Para implementar a través de Azure GIT, debo apuntar a un archivo de proyecto (en este caso, Orchard.Web.csproj):
[Config]
proyecto = src/Orchard.Web/Orchard.Web.csproj
Esto me lleva más lejos, pero mi siguiente problema es que intencionalmente omití la carpeta 'lib' de Orchard.Source de mi repositorio de GIT. Pensé, erróneamente, que si habilitaba "restauración de nuget" para Orchard.sln, la compilación de los archivos de proyecto en Azure buscaría las dependencias necesarias.
Con la ayuda de Sebastien, ahora entiendo que habilitar Nuget puede ser una batalla cuesta arriba debido a que algunas dependencias de terceros de Orchard han tenido personalizaciones de nivel de origen por parte del equipo de Orchard. En resumen, si quiero ponerme en funcionamiento rápidamente con la distribución de Orchard.Source, entonces simplemente debo enviar la carpeta 'lib' a mi repositorio de GIT (¡maldito!).
Cuando realicé mi siguiente visita a Azure a través de GIT, mi compilación aún falló, pero al menos la cantidad de errores se redujo drásticamente.Creo que la única cosa que está molesto con el ahora es la siguiente:
For OrchardFramework.csproj:
Could not find assemblies: Castle.Core, Casstle.DynamicProxy2
Missing type or namespace: Castle, AbstractLoggerFactory, DefaultProxyBuilder
Si puedo superar este problema, que finalmente podría tener lo mejor de boths mundos: un entorno de desarrollo de Visual Studio (debido a la distribución Orchard.Source) y un impulso habilitado para GIT a Azure. Alguien sabe lo que este último problema podría ser?
p.s. hay un archivo "ClickToBuildAzurePackage.cmd" en la distribución Orchard.Source, que se creó antes de que se creara el "GIT push to Azure". Ese pequeño archivo de proceso por lotes intenta duplicar gran parte del trabajo que ahora ofrece una inserción de GIT en Azure. Puedo explorar más esa opción, pero por supuesto la situación ideal sería confiar en las nuevas capacidades incorporadas de Azure.
ACTUALIZACIÓN 2: Resulta que esto es simplemente porque lib/*/Castle Windsor 2.0/bin/*
está siendo ignorada por .gitignore
. Después de haber forzado esos archivos también, ¡todo se construye y despliega ahora! El único problema ahora es que el sitio no da una respuesta cuando lo visito. Convertiré eso en una pregunta separada si es necesario. Como es, considero respondida esta pregunta en particular.
Las instrucciones de David se aplican "si descarga Orchard.Web de CodePlex", pero en su lugar quiero Orchard.Source de codeplex porque tengo la intención de hacer el desarrollo desde Visual Studio. En ese caso, sus instrucciones no se aplican.Pero tal como está, ya me has dado la mejor idea: el Orchard.sln no usa nuget (doh!). Para poder evitar colocar esas dependencias en GIT, quizás debería convertir Orchard.sln y proyectos para usar nuget. ¿Sí? ¿Encontraría algún obstáculo importante al convertir la solución Orchard de esa manera? –
No puede usar Nuget para cada biblioteca, ya que podemos aplicar parches personalizados para abrir bibliotecas de origen. Pero deberías poder hacerlo para la mayoría de ellos. –
No me gusta, pero para evitar el problema nuget por el momento, simplemente he elegido agregar la carpeta 'lib' de la distribución Orchard.Source en mi repositorio GIT. Luego publiqué y descubrí que la compilación en Azure todavía no funcionaba, pero producía muchos menos errores. Creo que es simplemente porque OrchardFramework.csproj no puede encontrar ensamblajes dependientes Castle.Core y DynamicProxy2. Si normalmente los compila/suministra la compilación Orchard.sln, entonces puedo entender lo que sucedió. De lo contrario, ¿por qué crees que hay problemas en ese lugar? –