Azure DevOps, potoki wersji YAML? [Zamknięte]

86

Wykonuję ten proces, aby utworzyć potok kompilacji YAML dla projektu interfejsu API sieci Web .NET Core:

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

Jeśli chodzi o wydawanie go, zauważam, że Azure DevOps (niedawno zmieniona nazwa) nie obsługuje YAML do definiowania potoków wydania. Widzę jednak, że zadania wdrożeniowe zostały zdefiniowane np .:

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

Czy spodziewamy się aktualizacji funkcji potoków wydań do obsługi YAML, a jeśli tak, to kiedy?

Michael12345
źródło
Wkrótce w Build 2019: youtube.com/watch?v=ORy3OeqLZlE Wielostopniowe potoki (i wydanie YAML) jest teraz w wersji zapoznawczej. Włącz ją w elemencie menu Funkcje podglądu.
nullforce
2
Czy ktoś mógłby mi pomóc w zrozumieniu, dlaczego to pytanie jest nie na temat? Wydaje mi się, że to dobre pytanie do przepełnienia stosu.
Tobske

Odpowiedzi:

59

W chwili pisania tej odpowiedzi oś czasu funkcji odzwierciedla wydania yaml, które pojawią się w III kwartale 2018 r.

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

Aktualizacja: została kilkakrotnie uderzona. Zalecane jest sprawdzenie poniższych komentarzy, ponieważ ludzie udostępniają aktualizacje, gdy je znajdują.

Aktualizacja

Zgodnie z komentarzami jest to teraz możliwe: https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ . Następujące elementy są kopiowane i wklejane z artykułu i demonstrują na różnych etapach:

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
Justin Holbrook
źródło
9
Teraz jest w funkcjach Q4 2018.
sschoof
4
Istnieje element roboczy do śledzenia tego dev.azure.com/mseng/Azure%20DevOps%20Roadmap/_workitems/edit/ ...
sschoof
6
Wczoraj skontaktowałem się przez Twittera. Obecnie trwają prace nad definicjami wersji YAML, aby pod koniec marca udostępniono je w wersji prywatnej.
Cały
5
Najnowsze elementy pracy śledzące to - dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1364226
antmeehan
10
Wreszcie! devblogs.microsoft.com/devops/whats-new-with-azure-pipelines 7 maja 2019
Kat Lim Ruiz
6

Środowisko tworzenia potoku kompilacji YAML jest dostępne w wersji zapoznawczej. (dzisiaj jest 2018-12-04)

Wydaje się, że YAML do wydawania potoków wciąż jest daleki : II kwartał 2019 r

Funkcje podglądu można włączyć z poziomu swojego profilu w następujący sposób:

menu profilu

Funkcja YAML

EDYCJA: Jak wskazuje nullforce w komentarzach, umożliwia to tylko środowisko YAML do kompilowania potoków, a nie do wydawania potoków.

AKTUALIZACJA (16.05.2019): Zgodnie z „Build 2019” firmy Microsoft, pełne środowisko YAML zarówno dla kompilacji, jak i wdrażania powinno być teraz możliwe w tym samym pliku potoków YAML.

Jim Wolff
źródło
3
To pytanie dotyczy potoków wydania, a nie potoków kompilacji. Wskazana funkcja podglądu włącza tylko potok kompilacji YAML.
nullforce
@nullforce Dziękuję, dodałem twoją poprawkę do mojej odpowiedzi i postaram się ją aktualizować, jeśli jest to włączone dla potoków wydań lub gdy yaml wyjdzie z podglądu.
Jim Wolff,
1
Nadal nie jest dostępny.
ATL_DEV
@ATL_DEV czy mógłbyś szczegółowo opisać stan lub link do zasobów dotyczących tego, abym mógł poprawić odpowiedź. Dla mnie wygląda na to, że jest dostępny: docs
Jim Wolff
@Jim Wolff - Microsoft to kłamcy! Części do wydania i wdrożenia można skonfigurować tylko za pomocą kiepskiego interfejsu użytkownika.
ATL_DEV
5

Zespół produktu pracuje nad tym. Aktualizację można śledzić za pomocą informacji o wersji .

starian chen-MSFT
źródło
1
„Zespół ds. Produktu” nie zrobił nic po 1 roku. Interfejs użytkownika Azure Dev Ops jest nadal okropny, a obsługa YAML dla wdrażania nadal nie istnieje, pomimo wszystkich pustych obietnic. Dokumentacja nie istnieje i jest rozproszona po całej sieci, Azure Dev Ops to potęga w użyciu! Microsoft powinien znaleźć coś innego do roboty,
ATL_DEV
Tylko ze względu na dokładność techniczną - pomimo tego komentarza opublikowanego w listopadzie 2019 r., Mówiącego, że obsługa YAML dla wdrożenia „nadal nie istnieje”, została faktycznie dodana do Azure DevOps (bez miejsca) w maju 2019 r. Inne odpowiedzi i komentarze bardziej dotyczą tego zagadnienia. Chciałem się tylko upewnić, że ktoś, kto to czyta, ma zły pomysł.
MikeBaz - MSFT
4

Jestem w trakcie robienia czegoś takiego właśnie w tej chwili, ale używam obecnych API REST. Co robię coś podobnego do tego, co tutaj udokumentowałem ( Jak zaimportować definicję wydania w VSTS? ). Zasadniczo zapisuję szablonowy plik JSON Release Pipeline w repozytorium kodu źródłowego ze zmiennymi zastępczymi i osadzonym numerem wersji. A następnie mam skrypt PowerShell, który wywołuje Azure DevOps (to długie słowo, wolałem pisać VSTS, może zacznę pisać AD)

  • REST API do sprawdzania Release Pipeline istnieje - działa
  • Utwórz, jeśli nie istnieje - działa
  • Porównaj wersje osadzone i zaktualizuj, a jeśli to konieczne (utknąłem tutaj, ale rozwiążę problem, zwracając błąd, że aktualizowany potok nie zmienił się, mimo że go zmieniłem).

Chcę, aby było to wykonywane podczas potoku kompilacji, aby nie musieć już ręcznie modyfikować wielu podobnych potoków wydania. Wolałbym, żeby był to również plik YAML, ale to jest to, co mam dzisiaj. Mam nadzieję, że to pomoże.

Antebios
źródło
1
Utknąłem i wstrzymałem pracę nad procesem UPDATE. Czemu? Szablon json definicji wydania ma identyfikator dla każdego kroku kompilacji. Identyfikatory muszą mieć określoną liczbę podczas tworzenia rurociągu wydania. Numer identyfikacyjny jest zmieniany po utworzeniu. Tak więc, gdy AKTUALIZUJESZ potok wydania, nie możesz już używać „nowych” numerów ID etapu (są one zarezerwowane podczas początkowego tworzenia potoku wydania), ale zamiast tego musisz użyć już ważnego identyfikatora etapu, który może być dowolną wartością.
Antebios
Tak więc rzeczywisty proces powinien wyglądać następująco: Do ​​tworzenia procesu użyj szablonu. Aby zaktualizować proces, pobierz definicję wersji i porównaj z szablonem i zaktualizuj pobraną definicję wersji, a następnie zaktualizuj ją z powrotem do VSTS. Uff! Oznacza to, że muszę napisać własny proces porównania i sprawdzanie błędów.
Antebios
w rzeczywistości dla nowej definicji wydania (POST) można zignorować idwłaściwość - iddla obiektu release def i we wszystkich environmentobiektach można zignorować - ustawienie rankwłaściwości powinno wystarczyć (razem z innymi wymaganymi) - wywołanie POST powinno automatycznie utworzyć identyfikatory i zwrot w obiekcie odpowiedzi. Po utworzeniu definicji wydania, aby uzyskać wszystkie definicje w swojej organizacji, możesz wykonać LISTdefinicje dotyczące wydania - tutaj
zaciemnij je
-4

Rurociągi składają się z jednego lub więcej zadań i mogą zawierać zasoby i zmienne. Zadania składają się z co najmniej jednego kroku oraz niektórych danych specyficznych dla zadania. Kroki mogą być zadaniami, skryptami lub odwołaniami do szablonów zewnętrznych. Znajduje to odzwierciedlenie w strukturze pliku YAML. Zajrzyj tutaj o szczegóły

catlight.io -Get alerty
źródło
5
Nie dodawaj podpisów do swoich postów; mogłyby zostać uznane za spam.
Zoe,