machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Центр приложений в DevOps Azure: как проверить состояние сборки приложения в конвейере

Дата публикации Oct 3, 2019

Здесь, в CorLife, мы стараемся максимально автоматизировать. Это может быть сложным для мобильного приложения.

Мы используемЦентр приложенийсоздать наше приложение, потому что его легко настроить и настроить, а мы используем DevOps Azure для управления нашими репозиториями. Отчетность в Azure DevOps, однако, статус сборки приложения не является функцией, доступной в настоящее время.

Однако есть надежда благодаря использованиюЗадача вызова функции,

Как я могу это сделать?

Начните с создания общего подключения службы в настройках проекта DevOps Azure. Назовите его как-то как «App Center Connection» и дайте ему URL-адрес сервера для вашего приложения:https://appcenter.ms/api/v0.1/apps/{Вашего-приложение-имя}.

Затем скопируйте следующие сценарии конвейера и добавьте их в корень вашего проекта:

Затем сгенерируйте токен API вAPI токеныраздел в App Center. Дайте ему полный доступ.

Вам понадобится конвейер сборки, настроенный для вашего проекта, который будет читать файл azure-pipelines.yml, и вам также нужно будет передать этот токен API сверху как переменную конвейера (я назвал мойAPP_CENTER_API_KEY).

Итак, вы заметите, что мы запрашиваем/branchesконечная точка, чтобы получить список самых последних сборок веток. Волшебство тогда случается в нашемsuccessCriteriaполе, где мы в основном говорим, проанализировать JSON и проверить, что существуетbranchобъект, в котором последняя сборка прошла успешно для текущего хэша PR-коммита:

jsonpath('$[?(@.lastBuild.sourceVersion==''$(System.PullRequest.SourceCommitId)'')].lastBuild.result')[0], 'succeeded')

или последний хэш коммита ветки:

jsonpath('$[?(@.lastBuild.sourceVersion==''$(Build.SourceVersion)'')].lastBuild.result')[0], 'succeeded')

Нам нужно проверить против обоихSystem.PullRequest.SourceCommitIdа такжеBuild.SourceVersionпотому что последний хеш коммита появится только в одной из этих переменных, в зависимости от того, открыт ли PR или нет.

Так что в открытом пиаре,System.PullRequest.SourceCommitIdбудет содержать последний хеш коммита на ветке, запрашивающей объединение. В противном случае,Build.SourceVersionбудет содержать последний хеш коммита в ветке, как, например, в ветке master.

И это в значительной степени это! Я испытал некоторую боль при разборе JSON, но здесь помогут инструкции:

А такжевот репозиторий GitHub,

Благодарность!

Оригинальная статья

Footer decor

© machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map