Ich verfolge diesen Prozess, um eine YAML-Build-Pipeline für ein .NET Core-Web-API-Projekt zu erstellen:
https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts
Bei der Veröffentlichung stelle ich fest, dass das (kürzlich umbenannte) Azure DevOps YAML für die Definition von Release-Pipelines anscheinend nicht unterstützt. Ich kann jedoch sehen, dass Bereitstellungsaufgaben definiert wurden, z.
Erwarten wir ein Upgrade der Release-Pipelines-Funktionalität, um YAML zu unterstützen, und wenn ja, wann?
Antworten:
Zum Zeitpunkt des Schreibens dieser Antwort spiegelt die Funktionszeitleiste wider, dass Yaml-Veröffentlichungen im dritten Quartal 2018 erscheinen.
https://docs.microsoft.com/en-us/azure/devops/release-notes/
Update: Dies wurde einige Male gestoßen. Es wird empfohlen, die folgenden Kommentare zu überprüfen, da die Leute Updates bereitgestellt haben, sobald sie diese finden.
Aktualisieren
Laut Kommentaren ist dies jetzt möglich: https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ . Folgendes wird aus dem Artikel kopiert und eingefügt und anhand verschiedener Stufen demonstriert:
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
quelle
Die Erfahrung beim Erstellen von YAML- Build- Pipelines wird in der Vorschau angezeigt. (Heute ist der 04.12.2018)
YAML für Release- Pipelines scheint noch weit entfernt zu sein: 2019 Q2
Vorschau-Funktionen können in Ihrem Profil wie folgt aktiviert werden:
BEARBEITEN : Wie nullforce in Kommentaren hervorhebt, ermöglicht dies nur eine YAML-Erfahrung für das Erstellen von Pipelines und nicht für das Freigeben von Pipelines.
UPDATE (2019-05-16): Nach dem "Build 2019" von Microsoft sollte die vollständige YAML-Erfahrung für Build und Bereitstellung jetzt in derselben YAML-Pipelines-Datei möglich sein.
quelle
Das Produktteam arbeitet daran. Sie können das Update durch verfolgen Release Notes .
quelle
Ich bin gerade dabei, so etwas richtig zu machen, aber ich verwende die aktuellen REST-APIs. Was ich mache, ähnelt dem, was ich hier dokumentiert habe ( Wie importiere ich eine Release-Definition in VSTS? ). Grundsätzlich speichere ich eine JSON Release Pipeline-Datei mit Vorlagen im Quellcode-Repository mit variablen Platzhaltern und einer eingebetteten Versionsnummer. A haben dann ein PowerShell-Skript, das die Azure DevOps aufruft (das ist ein langes Wort, ich habe es vorgezogen, VSTS einzugeben, vielleicht fange ich an, AD einzugeben)
Ich möchte, dass dies während der Build-Pipeline ausgeführt wird, damit ich nicht mehr viele ähnliche Release-Pipelines manuell ändern muss. Ich würde es vorziehen, wenn dies auch eine YAML-Datei wäre, aber das ist es, was ich heute habe. Ich hoffe das hilft.
quelle
id
Eigenschaft ignorieren -id
für das Release-Def-Objekt und in allenenvironment
Objekten kann sie ignoriert werden - die Einstellung derrank
Eigenschaft sollte ausreichen (zusammen mit anderen erforderlichen) - der POST-Aufruf sollte automatisch erstellt werden die IDs und kehren im Antwortobjekt zurück. Sobald Release Definition erstellt wird, um alle Definitionen in Ihrem org bekommen Sie ein tun können ,LIST
auf Release - Definitionen - GET Aufruf dokumentiert ist hierPipelines bestehen aus einem oder mehreren Jobs und können Ressourcen und Variablen enthalten. Jobs bestehen aus einem oder mehreren Schritten sowie einigen jobspezifischen Daten. Schritte können Aufgaben, Skripte oder Verweise auf externe Vorlagen sein. Dies spiegelt sich in der Struktur der YAML-Datei wider. Bitte besuchen Sie hier für Details
quelle