with visual variable team studio services management azure-devops azure-pipelines-release-pipeline

visual - ¿Azure DevOps, YAML lanzan tuberías?



vsts release (5)

Al momento de escribir esta respuesta, la línea de tiempo de las características refleja los lanzamientos de yaml que están llegando en 2018 Q3.

https://docs.microsoft.com/en-us/azure/devops/release-notes/

Actualización: Esto ha sido golpeado un par de veces. Se recomienda verificar los comentarios a continuación, ya que la gente ha estado proporcionando actualizaciones a medida que los encuentran.

Actualizar

Según los comentarios, esto ahora es posible: https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ . Lo siguiente se copia y pega del artículo y se demuestra utilizando varias etapas:

stages: - stage: Build jobs: - job: Build pool: vmImage: ''Ubuntu-16.04'' continueOnError: true steps: - script: echo my first build job - stage: Deploy jobs: # track deployments on the environment - deployment: DeployWeb pool: vmImage: ''Ubuntu-16.04'' # creates an environment if it doesn’t exist environment: ''smarthotel-dev'' strategy: # default deployment strategy runOnce: deploy: steps: - script: echo my first deployment

Estoy siguiendo este proceso para crear una canalización de compilación YAML para un proyecto de API Web Core de .NET:

https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts

Cuando se trata de lanzarlo, observo que el (recientemente renombrado) DevOps de Azure no parece ser compatible con YAML para definir las líneas de distribución. Sin embargo, puedo ver que las tareas de implementación se han definido, por ejemplo:

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-rm-web-app-deployment?view=vsts

¿Estamos esperando una actualización a la funcionalidad de las tuberías de lanzamiento para soportar YAML y, en caso afirmativo, cuándo?



Estoy en medio de hacer algo como esto en este mismo momento, pero estoy usando las API REST actuales. Lo que estoy haciendo es similar a lo que documenté aquí ( ¿Cómo se importa una definición de lanzamiento en VSTS? ). Básicamente, estoy guardando un archivo JSON Release Pipeline en el repositorio de código fuente con marcadores de posición variables y un número de versión incorporado. Luego tengo una secuencia de comandos de PowerShell que llama a los DevOps de Azure (es una palabra larga, preferí escribir VSTS, tal vez comenzaré a escribir AD)

  • API de REST para verificar la existencia de Pipeline de publicación - funciona
  • Crea si no existe - funciona
  • Compare versiones incrustadas y actualice, y si es necesario (estoy atascado aquí, pero lo resolveré, devolver el error de que la actualización de la tubería no ha cambiado a pesar de que la he cambiado).

Quiero que esto se ejecute durante la canalización de compilación para que ya no tenga que modificar manualmente muchos canales de versión similares. Preferiría que este también fuera un archivo YAML, pero esto es lo que tengo hoy. Espero que esto ayude.


La experiencia de creación de tuberías de compilación YAML está en vista previa. (hoy es 2018-12-04)

YAML para las tuberías de lanzamiento parece ser un camino aún: dev.azure.com/mseng/Azure%20DevOps%20Roadmap/_workitems/edit/…

Las funciones de vista previa se pueden habilitar desde tu perfil de esta manera:

EDITAR: Como nullforce señala en los comentarios, esto solo habilita una experiencia YAML para construir tuberías y no para liberar tuberías.

ACTUALIZACIÓN (2019-05-16): Siguiendo la " Compilación 2019" de Microsoft, la experiencia YAML completa tanto para la compilación como para la implementación ahora debería ser posible en el mismo archivo de tuberías de YAML.


Las tuberías están hechas de uno o más trabajos y pueden incluir recursos y variables. Los trabajos se componen de uno o más pasos más algunos datos específicos del trabajo. Los pasos pueden ser tareas, scripts o referencias a plantillas externas. Esto se refleja en la estructura del archivo YAML. Por favor visite here para más detalles.