Azure DevOps, конвеєри випуску YAML? [зачинено]


85

Я дотримуюсь цього процесу, щоб створити конвеєр збірки YAML для проекту .NET Core Web API:

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

Коли справа доходить до його випуску, я зазначаю, що (нещодавно перейменований) Azure DevOps, схоже, не підтримує YAML для визначення конвеєрів випуску. Однак я бачу, що завдання розгортання були визначені, наприклад:

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

Чи очікуємо ми оновлення функціональних можливостей конвеєрів випуску для підтримки YAML, і якщо так, то коли?


Незабаром, у версії Build 2019: youtube.com/watch?v=ORy3OeqLZlE Багатоступеневі конвеєри (і Випуск YAML) тепер у попередньому перегляді. Увімкніть його в пункті меню Попередній перегляд функцій.
nullforce

2
Хтось може допомогти мені зрозуміти, чому це питання не стосується теми? Для мене це здається хорошим питанням для stackoverflow.
Тобске

Відповіді:


58

На момент написання цієї відповіді часовий графік функцій відображає випуски yaml, які наступають у третьому кварталі 2018 року.

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

Оновлення: це було натиснуто кілька разів. Рекомендується перевіряти коментарі нижче, оскільки люди пропонують оновлення, коли знаходять їх.

Оновлення

Відповідно до коментарів, це тепер можливо: https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ . Далі копіюється та вставляється зі статті та демонструється на різних етапах:

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

9
Зараз це в функціях Q4 2018 року.
sschoof

4
Існує робочий пункт для відстеження цього dev.azure.com/mseng/Azure%20DevOps%20Roadmap/_workitems/edit/…
sschoof

6
Вчора я зв’язався через Twitter. Визначення випусків YAML опрацьовуються щохвилини з метою переходу до приватного попереднього перегляду до кінця березня. Повна тема на twitter.com/gopinach/status/1088320931745935360?s=21
rh072005

5
Останній робочий пункт, який відстежує це - dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1364226
antmeehan


6

YAML збірки досвід створення трубопроводу в режимі попереднього перегляду. (сьогодні 2018-12-04)

YAML для звільнення трубопроводів , здається, шляху геть ще: 2019 Q2

Функції попереднього перегляду можна ввімкнути з вашого профілю таким чином:

меню профілю

Функція YAML

РЕДАГУВАТИ: Як зазначає nullforce в коментарях, це дозволяє лише досвід роботи з YAML для побудови конвеєрів, а не випуску конвеєрів.

ОНОВЛЕННЯ (2019-05-16): Відповідно до Microsoft "Build 2019", повний досвід YAML як для збірки, так і для розгортання тепер повинен бути можливим в одному файлі конвеєрів YAML.


3
Це питання задається щодо випуску конвеєрів, а не побудови конвеєрів. Зазначена вами функція попереднього перегляду включає лише конвеєр побудови YAML.
nullforce

@nullforce Дякую, я додав виправлення до моєї відповіді та намагатимусь підтримувати його в актуальному стані, якщо це ввімкнено для конвеєрів випусків або коли yaml також виходить із попереднього перегляду.
Джим Вольф

1
Він все ще недоступний.
ATL_DEV

@ATL_DEV не могли б Ви детальніше розказати про стан або посилання на ресурси щодо цього, щоб я міг виправити відповідь. Мені здається, що він доступний: docs
Джим Вольф

@Jim Wolff - Microsoft брехуни! Частини випуску та розгортання можна налаштувати лише за допомогою його простого інтерфейсу.
ATL_DEV

5

Над цим працює команда продуктів. Ви можете відстежувати оновлення за допомогою приміток до випуску .


1
"Команда продуктів" не зробила нічого після 1 року. Інтерфейс користувача Azure Dev Ops все ще жахливий, і підтримка yaml для розгортання все ще відсутня, незважаючи на всі порожні обіцянки. Документація відсутня і розпорошена по всій мережі, Azure Dev Ops - це можливо, можливо! Microsoft повинна знайти щось інше, щоб зробити,
ATL_DEV

Тільки заради технічної точності - незважаючи на те, що коментар, опублікований у листопаді 2019 року, каже, що підтримка YAML для розгортання "все ще відсутня", він фактично був доданий до Azure DevOps (немає місця) у травні 2019 року. Інші відповіді та коментарі отримують більше в цьому. Просто хотів переконатись, що хтось, хто читає це, отримав неправильну ідею.
MikeBaz - MSFT

4

Я саме зараз займаюся подібними справами, але використовую поточні API REST. Що я роблю щось подібне до того, що я задокументував тут ( Як імпортувати визначення випуску у VSTS? ). В основному я зберігаю шаблонний файл JSON Release Pipeline у ​​сховищі вихідного коду із змінними заповнювачами та вбудованим номером версії. Потім є сценарій PowerShell, який викликає Azure DevOps (це довге слово, я віддав перевагу набору VSTS, можливо, я почну вводити AD)

  • REST API для перевірки конвеєра випуску існує - працює
  • Створити, якщо його не існує - працює
  • Порівняйте вбудовані версії та оновіть та, якщо потрібно, (я застряг тут, але вирішу це, повертаючи помилку про те, що конвеєр, який оновлюється, не змінився, хоча я його змінив.)

Я хочу, щоб це виконувалось під час конвеєра збірки, щоб мені більше не довелося змінювати багато подібних конвеєрів Release вручну. Я хотів би, щоб це також був файл YAML, але це те, що я маю сьогодні. Сподіваюся, це допоможе.


1
Я застряг і зупинив свої робочі зусилля над процесом ОНОВЛЕННЯ. Чому? Визначення випуску json має ідентифікатор кожного кроку побудови. Ідентифікатори повинні мати певний номер під час створення випускного конвеєра. Ідентифікаційний номер змінюється після його створення. Отже, коли ви ОНОВЛЮЄТЕ випускний конвеєр, ви більше не можете використовувати "нові" ідентифікаційні номери етапу (вони зарезервовані при початковому створенні випускного конвеєра), але натомість вам потрібно використовувати тепер дійсний поетапний ідентифікатор, який може бути чим завгодно.
Antebios,

Тож фактичний процес повинен бути таким: Для створення процесу використовуйте шаблон. Для процесу оновлення завантажте визначення випуску та порівняйте його з шаблоном та оновіть визначення завантаженого випуску, а потім оновіть його до VSTS. Ух! Це означає, що мені потрібно написати власний процес порівняння та перевірку помилок.
Antebios,

насправді, для нового визначення випуску (POST) ви можете ігнорувати idвластивість - idдля випуску об'єкта def і у всіх environmentоб'єктах можна ігнорувати - встановлення rankвластивості має бути достатнім (поряд з іншими необхідними) - виклик POST повинен автоматично створювати ідентифікатори та повернення в об'єкті відповіді. Після визначення релізу створено, щоб отримати всі визначення в вашому Оргеев ви можете зробити LISTна визначеннях випуску - GET виклик документовані тут
Затемнення

-4

Трубопроводи складаються з одного або декількох завдань і можуть включати ресурси та змінні. Завдання складаються з одного або декількох кроків, а також деяких даних про конкретну роботу. Кроками можуть бути завдання, сценарії або посилання на зовнішні шаблони. Це відображається на структурі файлу YAML. Будь ласка, відвідайте тут для отримання детальної інформації


5
Не додайте підписи до своїх дописів; їх можна вважати спамом.
Зої
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.