Я хотел бы настроить непрерывное развертывание из репозитория GitLab в приложение Azure с помощью сценария PowerShell. Я знаю, что вы можете сделать это вручную согласно:
https://christianliebel.com/2016/05/auto-deploying-to-azure-app-services-from-gitlab/
Тем не менее, я пытаюсь автоматизировать это с помощью Powershell. Я посмотрел на этот пример сценария для GitHub:
Но поскольку у GitLab нет провайдера, и ни один из существующих провайдеров не принимает URL GitLab, я не уверен, что делать дальше. Я рассмотрел настройку ручного развертывания с помощью GitLab на портале Azure (с использованием параметра "Внешний репозиторий") и экспорта шаблона группы ресурсов, чтобы получить подробную информацию о том, как репозиторий подключен к приложению, но я получаю сообщение об ошибке:
Could not get resources of the type 'Microsoft.Web/sites/sourcecontrols'.
Resources of this type will not be exported. (Code: ExportTemplateProviderError, Target: Microsoft.Web/sites/sourcecontrols)
В настоящее время я работаю над этим, отражая свой репозиторий GitLab в GitHub, и использую конвейер непрерывного развертывания оттуда в Azure. Обратите внимание, что это для репозитория, размещенного на GitLab.com, а не на собственном сервере GitLab. Для проекта не существует настройки Windows Runner.
Как я могу использовать сценарий PowerShell для настройки непрерывного развертывания непосредственно из GitLab в Azure? После запуска сценария установки каждое последующее принятие/слияние с репозиторием GitLab должно автоматически развертываться в Azure. Предпочтительно, чтобы в этом сценарии PowerShell использовались модули AzureRM, но я готов принять решение, в котором используется PowerShell Core и новый модуль Az (на основе интерфейса командной строки Azure). Конкретный тестовый репозиторий, который я использую, является общедоступным (https://gitlab.com/MagicAndi/geekscode.net), но это не является специфическим требованием для решения для работы с частными репозиториями (но если это так, даже лучше !).
Обновление 17/12/2018
Я наградил Баунти к самой рыбы, как его ответ лучше всего отвечает моим потребностям. Тем не менее, учитывая, что Windows Powershell и модуль Azure RM устарели в пользу PowerShell Core и нового модуля Az (с помощью интерфейса командной строки Azure), я создал новый вопрос, специально запрашивая канонический ответ с использованием Azure CLI и Powershell. ядро. Я планирую предложить вознаграждение за этот вопрос, когда он будет открыт для меня через 2 дня. Благодарю.