Как мне создать тестовое приложение C#/Playwright и развернуть его в Azure для включения в конвейеры выпуска?

Итак, теперь у меня есть набор рабочих дымовых тестов с использованием VS/C# и Playwright. Они очень хорошо работают как часть конвейера выпуска в приведенном ниже формате.

Все это работает хорошо, и прохождение этих этапов занимает в среднем 8 минут. Итак, теперь мы думаем, что если мы создадим тестовый проект, а затем соберем и развернем его для использования в Azure, а затем вызовем его из конвейера, сможем ли мы сэкономить на этом несколько минут?

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

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

Это возможно? Кто-нибудь сделал это, и если да, то может ли кто-нибудь дать мне несколько советов, как этого добиться, пожалуйста. Docker — лучший вариант или функциональное приложение?

Заранее благодарю за любую помощь

Привет, Кев! Сколько времени занимает каждая задача при нынешней 8-минутной продолжительности выполнения конвейера? Какая задача занимает больше всего времени? Развертывание задач также может занять время, если вы добавите этап развертывания в Azure. Кроме того, общепринятой практикой является сначала тестирование, а после успешного тестирования — развертывание в рабочей среде. Если вы сначала развернете, а затем протестируете, развернутая среда окажется в неправильном состоянии, если во время тестирования что-то пойдет не так.

Miao Tian-MSFT 11.07.2024 08:36

Привет, Мяо, просто хочу уточнить: каждый шаг на этапе тестирования занимает около 2 минут, но мы думаем о том, чтобы предварительно созданное (приложение-функция) уже было развернуто и готово к использованию.

Kev 15.07.2024 09:09

Кроме того, тест является просто частью задачи развертывания: код Canididate развертывается в промежуточной среде, затем тестируется и, если все в порядке, затем развертывается в реальном времени. Извините, надо было прояснить это.

Kev 15.07.2024 09:10

Привет @Kev, я заметил, что ты задавал подобный вопрос раньше. Объединив ваши два сообщения, создается впечатление, что вы стремитесь предварительно выполнить задачи восстановления и сборки NuGet для дымовых тестов и сохранить результаты для последующего использования. Одним из подходов может быть создание конвейера сборки, который запускает задачи восстановления и сборки, публикует выходные данные в виде артефакта, а затем использует задачу загрузки артефактов конвейера в конвейере выпуска для его загрузки и тестирования. Это совпадает с тем, что вы думаете? Если мое понимание неверно, пожалуйста, дайте мне знать.

Miao Tian-MSFT 15.07.2024 11:55

Кстати, я знаю новый сервис под названием Microsoft Playwright Testing. Возможно, вам будет интересно взглянуть.

Miao Tian-MSFT 15.07.2024 11:59

Привет, Мяо. Спасибо за эту информацию, да, это именно то, что мы ищем, и спасибо за ссылку, она очень полезна.

Kev 16.07.2024 09:59

Привет, Кев, спасибо за ответ. Я добавил еще один способ использования универсальных пакетов в ответ для вашей справки. :)

Miao Tian-MSFT 16.07.2024 10:10
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
7
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Согласно вашим двум сообщениям, вы стремитесь предварительно выполнить задачи восстановления и сборки NuGet для дымовых тестов и сохранить результаты для последующего использования.

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

Другой способ — опубликовать выходные данные в виде универсальных пакетов. Вы можете Публиковать и загружать универсальные пакеты с помощью Azure Pipelines. Каждый пакет уникально идентифицируется именем и номером версии, и это может быть полезно для контроля версий.

Кстати, я знаю новый сервис под названием Microsoft Playwright Testing, к вашему сведению.

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