VSTS - загрузка артефакта запуска

В настоящее время у меня есть выпуск, предназначенный для отправки клиентов на внутренний сервер nuget.

Каждый выпуск идентичен с точки зрения шагов, единственное, что изменяется, - это артефакт срабатывания.

Однако, когда я добавляю еще один артефакт в «общий» выпуск, так что теперь в выпуске есть артефакты ClientA и ClientB, оба артефакта загружаются при запуске выпуска, а затем они оба отправляются.


Я хотел бы знать, возможно ли, чтобы выпуск Только загружал артефакт запуска.

Пример: Релиз запускается как на ClientA, так и на ClientB.

Выпущен ClientB. Триггеры сборки и только артефакт ClientB используется во время развертывания.

Все они строят артефакты?

Eddie Chen - MSFT 27.08.2018 10:32

@ EddieChen-MSFT Да, из двух отдельных сборок CI. ClientA.CI и ClientB.CI

Questioning 27.08.2018 10:59

есть задача выпуска Download build artifacts от MS, но я не могу заставить ее работать для нескольких артефактов в выпуске docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utilit‌ y /…

oleksa 01.07.2019 09:19
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
1 007
3

Ответы 3

Я не думаю, что на данный момент это возможно, но что-то подобное возможно.

Создайте группу задач из определения текущего выпуска, как описано здесь: https://docs.microsoft.com/en-us/vsts/pipelines/library/task-groups?view=vsts

Клонируйте определение выпуска и измените артефакт с ClientA на ClientB.

В итоге у вас будет два определения выпуска, в каждом из которых будут общие шаги, но артефакты будут разными.

Обновлено: сценарий PowerShell для загрузки артефактов сборки

Эдди предложил хороший обходной путь. Вот как вы можете снять артефакт вручную.

  1. Нужно включить Разрешить скриптам доступ к токену OAuth

  2. Добавьте задачу PowerShell на каждую фазу и укажите ссылку на сценарий СкачатьBuildArtifacts.ps1.

Если выпуск запускается артефактами сборки, значение предопределенной переменной «$ (RELEASE.TRIGGERINGARTIFACT.ALIAS)» будет псевдонимом сработавших артефактов. Вы можете получить значение этой переменной, чтобы определить, какой артефакт запускает выпуск.

Спасибо, Данижел, но я надеялся избежать множественных определений релизов.

Questioning 27.08.2018 01:02

Я обновил решение ссылкой на скрипт PowerShell. Возможно, вам придется адаптировать его к вашим потребностям, но он должен дать вам фору.

Danijel Malik 28.08.2018 02:50

было бы полезно добавить if ($artifact.Alias -eq $env:RELEASE_TRIGGERINGARTIFACT_ALIAS) {, чтобы ответить на первоначальный вопрос и загрузить единственный артефакт, который вызвал выпуск

oleksa 27.06.2019 14:40

Нет никакого способа добиться этого из коробки. Но вы можете отключить артефакты автоматической загрузки и добавить сценарий PowerShell в определение выпуска, чтобы получить сработавший артефакт и загрузить его.

Любое указание на то, как может выглядеть этот сценарий PowerShell / где я могу найти документацию о том, как загрузить артефакт и передать его следующей части процесса сборки?

Questioning 27.08.2018 17:57

Не используйте задачу PowerShell. Просто используйте [настраиваемое условие] [docs.microsoft.com/en-us/azure/devops/pipelines/p‌ rocess /…, чтобы оценить значение $(Release.TriggeringArtifact.Alias).

Josh Gust 17.07.2019 21:39

Невозможно просто загрузить сработавшие артефакты, но вы можете определить, какой артефакт запускает этот выпуск, с помощью переменной RELEASE_TRIGGERINGARTIFACT_ALIAS.

Таким образом, вы можете нажать соответствующую переменную для этой переменной.

Это действительно может помочь. Недавно я заметил новый значок на артефакте срабатывания, так что это может помочь.

Questioning 01.07.2019 19:13

Другие вопросы по теме