Создать файл действий конвейера/рабочего процесса из сценария ARM

При развертывании службы приложений Azure из шаблона ARM я могу предоставить службе приложений дочерний ресурс, который указывает URI исходного репо для службы приложений. Кроме того, этот дочерний ресурс может создать YML-файл действия рабочего процесса github, а ЗАТЕМ зафиксировать этот файл в вышеупомянутом репозитории.

Однако в файле YML автоматически сгенерированного действия рабочего процесса есть как ошибки, так и недостатки. Как следствие, вместо этого я хочу, чтобы мой шаблон ARM содержал сценарий ARM, который создает/шаблонизирует мой собственный файл рабочего процесса github... и фиксирует его в соответствующем репозитории.

Я предполагаю, что это возможно. Есть ли у кого-нибудь примеры сценариев PowerShell (или bash), которые это сделают?

Шаг за шагом, я думаю, это будет выглядеть так:

  1. Шаблон ARM развертывает службу приложений с именем «X» и используетsourcecontrolsдочерний ресурс, чтобы также связать службу приложений с репозиторием (но не создает файл рабочего процесса автоматически).
  2. Затем выполняется «сценарий» ARM и...
    1. Извлекает XML-файл «профиль публикации» из только что созданной службы приложений «X».
    2. Получает адрес репозитория той же службы приложений "X".
    3. Создает секрет репозитория github, который содержит предыдущий профиль публикации.
    4. Создает настраиваемый файл рабочего процесса github со ссылкой на профиль публикации.
    5. Фиксирует настроенный файл рабочего процесса в репозиторий.

Я полагаю, что упрощенным вариантом вышеизложенного было бы позволить шаблону ARM создать «неполноценный» файл рабочего процесса github, а затем позволить сценарию на основе ARM просто изменить и зафиксировать обновления в предыдущем автоматически сгенерированном файле рабочего процесса. Единственная загвоздка для этого упрощенного подхода — может быть то, что в момент фиксации первого файла рабочего процесса он может немедленно запустить сборку (до того, как измененный файл рабочего процесса будет правильно размещен на месте).

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

0 ответов