web-dev-qa-db-fra.com

Azure DevOps, les pipelines de libération de YAML?

Je suis ce processus pour créer un pipeline de génération YAML pour un projet d'API Web .NET Core:

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

Quand il s'agit de le publier, je remarque que Azure DevOps (récemment renommé) ne semble pas prendre en charge YAML pour la définition des pipelines de version. Cependant, je peux voir que les tâches de déploiement ont été définies, par exemple:

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

Attendons-nous une mise à niveau de la fonctionnalité des pipelines de version pour prendre en charge YAML et, dans l'affirmative, quand?

57
Michael12345

Au moment de la rédaction de cette réponse, le calendrier des fonctionnalités indique que les versions de yaml sont à venir pour le troisième trimestre 2018.

https://docs.Microsoft.com/en-us/Azure/devops/release-notes/

Mise à jour: Cela a été heurté à quelques reprises. Il est recommandé de vérifier les commentaires ci-dessous, car les utilisateurs fournissent des mises à jour au fur et à mesure qu'ils les trouvent.

Mise à jour

Selon les commentaires, cela est maintenant possible: https://devblogs.Microsoft.com/devops/whats-new-with-Azure-pipelines/ . Ce qui suit est copié et collé à partir de l'article et illustre l'utilisation de différentes étapes:

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
42
Justin Holbrook

YAML construit l'expérience de création de pipeline est en aperçu. (aujourd'hui nous sommes le 2018-12-04)

YAML pour libérer les pipelines semble être un moyen de s'en tirer encore: 2019 Q2

Les fonctionnalités de prévisualisation peuvent être activées à partir de votre profil comme ceci:

profile menu

YAML feature

EDIT: Comme nullforce le souligne dans les commentaires, cela active uniquement une expérience YAML pour les pipelines de construction et non pour le largage.

UPDATE (2019-05-16): À la suite de la "version 2019" de Microsoft, l'expérience YAML complète pour la construction et le déploiement devrait maintenant être possible dans le même Fichier de pipelines YAML.

4
Jim Wolff

L'équipe produit y travaille. Vous pouvez suivre la mise à jour via Notes de mise à jour .

3
starian chen-MSFT

Je suis en train de faire quelque chose comme cela en ce moment même, mais j'utilise les API actuelles REST. Ce que je fais ressemble à ce que j’ai documenté ici ( Comment importer une définition de version dans VSTS? ). En principe, j’enregistre un fichier de pipeline de sortie JSON basé sur un modèle dans le référentiel de code source avec des espaces réservés variables et un numéro de version incorporé. Ensuite, ayez un script PowerShell qui appelle Azure DevOps (c'est un long mot, j'ai préféré taper VSTS, peut-être que je vais commencer à taper AD)

  • Les API REST permettant de vérifier le pipeline de publication existent - fonctionne
  • Créer s'il n'existe pas - fonctionne
  • Comparez les versions incorporées et mettez à jour et si nécessaire (je suis bloqué ici, mais je vais le résoudre, en renvoyant une erreur que le pipeline mis à jour n'a pas changé même si je l'ai changé.)

Je souhaite que cette opération soit exécutée pendant le pipeline de génération afin de ne plus avoir à modifier manuellement de nombreux pipelines de publication similaires. Je préférerais qu'il s'agisse également d'un fichier YAML, mais c'est ce que j'ai aujourd'hui. J'espère que ça aide.

3
Antebios