Estoy siguiendo este proceso para crear una canalización de compilación YAML para un proyecto de API web de .NET Core:
https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts
Cuando se trata de lanzarlo, observo que Azure DevOps (recientemente renombrado) no parece ser compatible con YAML para definir las canalizaciones de lanzamiento. Sin embargo, puedo ver que se han definido las tareas de implementación, por ejemplo:
¿Esperamos una actualización de la funcionalidad de canalizaciones de versiones para admitir YAML y, de ser así, cuándo?
Respuestas:
En el momento de redactar esta respuesta, la cronología de las funciones refleja que los lanzamientos de yaml llegarán al tercer trimestre de 2018.
https://docs.microsoft.com/en-us/azure/devops/release-notes/
Actualización: esto se ha golpeado varias veces. Se recomienda consultar los comentarios a continuación, ya que la gente ha estado proporcionando actualizaciones a medida que las 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 demuestra el uso de 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
fuente
La experiencia de creación de canalizaciones de compilación YAML está en versión preliminar. (hoy es 2018-12-04)
YAML para los pipelines de lanzamiento parece estar aún muy lejos: 2019 Q2
Las funciones de vista previa se pueden habilitar desde su perfil de esta manera:
EDITAR: como señala nullforce en los comentarios, esto solo habilita una experiencia YAML para construir canalizaciones y no lanzar canalizaciones.
ACTUALIZACIÓN (2019-05-16): Siguiendo la "Build 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 canalizaciones YAML.
fuente
El equipo de producto está trabajando en ello. Puede realizar un seguimiento de la actualización a través de las notas de la versión .
fuente
Estoy en medio de hacer algo como esto en este mismo momento, pero estoy usando las API REST actuales. Lo que estoy haciendo es algo 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 con plantilla en el repositorio de código fuente con marcadores de posición variables y un número de versión incrustado. A continuación, tenga un script de PowerShell que llame a Azure DevOps (esa es una palabra larga, preferí escribir VSTS, tal vez empiece a escribir AD)
Quiero que esto se ejecute durante la canalización de compilación para que ya no tenga que modificar manualmente muchas canalizaciones de versiones similares. Preferiría que este también fuera un archivo YAML, pero esto es lo que tengo hoy. Espero que esto ayude.
fuente
id
propiedad;id
para el objeto de definición de lanzamiento y en todos losenvironment
objetos se puede ignorar; establecer larank
propiedad debería ser suficiente (junto con otras requeridas); la llamada POST debería crear automáticamente los ID y volver en el objeto de respuesta. Una vez que se crea la definición de la versión, para obtener todas las definiciones en su organización, puede hacer unaLIST
en las definiciones de la versión - la llamada GET se documenta aquíLas canalizaciones están formadas por 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. Visite aquí para más detalles
fuente