Organizar twigs de aplicaciones de n niveles para la publicación Azure / GitHub

Estoy planeando desarrollar una aplicación .NET de varios niveles, con al less tres capas separadas alojadas en Azure:

  • Interfaz web
  • Función backend / worker
  • Base de datos

Me gustaría utilizar Azure Git Publishing con GitHub para permitir el deployment continuo de cada una de las capas por separado. ¿Cuál es la mejor manera de organizar las twigs de git para habilitar las implementaciones de Azure para cada uno de los componentes individualmente, al time que se comparte el código entre ellos?

Preferiblemente, me gustaría tener todo el código en una twig de git y configurar processs de compilation / publicación para cada uno en Azure. Sin embargo, sospecho que esto no funcionará porque:

  1. Azure usa cualquier inserción en una twig para activar una implementación. No quiero que las actualizaciones de mi interfaz desencadenen un deployment de mi back-end.
  2. Por lo que sé, no hay forma de configurar el command de compilation que Azure usa para generar salidas para publicar.

Si necesito usar twigs separadas de Git, ¿cuál es la forma más fácil de compartir código entre ellas?

Buen señor,

Parece que necesitará un repo de git para cada destino de implementación . Es decir, un repository para cada capa que desea implementarse independientemente de cualquier otro. Además de un repository más para el código compartido. Presumiblemente, el código compartido se comstack en algunos dlls, que se pueden compartir con los otros proyectos al agruparlos como un package NuGet. De esta forma, la interfaz web, por ejemplo, no desencadena una implementación por el capricho de las actualizaciones del código compartido. Eso solo sucede si has hecho una actualización de NuGet.

Dicho esto, me pregunto, ¿es realmente un requisito el "no quiero actualizaciones de frontend para desencadenar una implementación de mi back-end"? En mi lugar de trabajo tenemos casi todas nuestras implementaciones totalmente automatizadas. No hay time de inactividad, solo funciona. Nos desplegamos a veces 5, 10 o más veces al día. No nos tiene que importar cuántas veces. Si puedes hacer eso también, entonces puedes tener un gran repo de git. Sí, ocasionalmente los cambios que no afectan una capa seguirán desplegando esa capa, pero meh, no me importa. La organización y el intercambio de códigos se vuelven muy simples.

Tu amigo, Josh

De acuerdo con esta pregunta relacionada , la publicación de Azure git solo está disponible para sitios web, no services en la nube.

Por lo tanto, la cuestión de la organización para permitir la publicación de proyectos por separado es irrelevante. La opción más fácil será mantener los proyectos en una sola sucursal de Git y utilizar las implementaciones tradicionales de Azure (no la publicación automática de Git).