Estoy implementando azure devOps en Azure Data Factory.

Mi entorno de desarrollo ADF está integrado en un repositorio de git.

He creado una canalización de compilación para construir artefactos cuando hay un cambio en la rama adf_publish.

Mi siguiente paso es implementar el artefacto de la plantilla ARM en el entorno PROD.

Suponga que hay muchas canalizaciones activadas en el entorno PROD y pocas canalizaciones se estaban ejecutando en el entorno PROD en el momento en que los cambios de DEV se están implementando en PROD.

Mis preguntas son:

  1. ¿Cómo se implementan los cambios de DevOps al entorno PROD? ¿Eliminará y reemplazará todas las canalizaciones y activadores de DevOps o seleccionará solo los cambios y actualizará el entorno de PROD sin tocar las canalizaciones sin cambios?
  2. Supongamos que una canalización se está ejecutando en PROD env en el momento de la implementación, ¿qué pasará con la ejecución de esa canalización?
  3. Suponga que hay una canalización activada a las 3:00 en punto y la implementación comienza a las 2:55 y finaliza a las 3:05. ¿Qué pasará con esa tubería activada que se suponía que se ejecutaría a las 3:00?

Cualquiera que tenga una idea clara sobre las preguntas anteriores o ¿Existe alguna documentación de referencia para obtener respuestas a estas preguntas?

Pasé por Keeping deployment mode as Incremental instead of keeping it as Complete en el momento de la implementación de la plantilla ARM. ¿Esa opción hará todas las tareas que le pedí anteriormente?

0
Antony 26 oct. 2020 a las 06:55

1 respuesta

La mejor respuesta

¿Cómo se implementan los cambios de DevOps al entorno PROD? ¿Eliminará y reemplazará todas las canalizaciones y activadores de DevOps o seleccionará solo los cambios y actualizará el entorno de PROD sin tocar las canalizaciones sin cambios?

Depende del modo de implementación que elija.

enter image description here

  • Modo de implementación: especifica el modo de implementación en el que deben implementarse los recursos de Azure especificados en la plantilla.
    El modo incremental maneja las implementaciones como actualizaciones incrementales en
    grupo de recursos.
    Deja los recursos sin cambios que existen en el
    grupo de recursos pero no se especifican en la plantilla. Modo completo
    elimina los recursos que no están en su plantilla.
    Validar modo
    le permite encontrar problemas sintácticos con la plantilla antes
    creando recursos reales. De forma predeterminada, se utiliza el modo incremental.

Supongamos que una canalización se está ejecutando en PROD env en el momento de la implementación, ¿qué pasará con la ejecución de esa canalización?

Su implementación fallará y es posible que reciba un mensaje de error de conflicto 409. Puede consultar el documento Mejores prácticas para CI / CD:

Script previo y posterior a la implementación. Antes del paso de implementación de Resource Manager en CI / CD, debe completar ciertas tareas, como detener y reiniciar los activadores y realizar la limpieza. Le recomendamos que utilice scripts de PowerShell antes y después de la tarea de implementación. Para obtener más información, consulte Actualizar activadores activos. El equipo de la fábrica de datos ha proporcionado una secuencia de comandos que se encuentra en la parte inferior de esta página.

Suponga que hay una canalización activada a las 3:00 en punto y la implementación comienza a las 2:55 y finaliza a las 3:05. ¿Qué pasará con esa tubería activada que se suponía que se ejecutaría a las 3:00?

Al igual que en su segunda pregunta, la canalización no debería activarse (o en estado pendiente), pero todavía no tengo una instancia para probar tal escenario.

2
Leo Liu-MSFT 28 oct. 2020 a las 06:08