Автоматизация сборки и развертывания рабочих процессов приложений логики уровня "Стандартный" с помощью Azure DevOps
Для рабочих процессов приложения логики уровня "Стандартный", работающих в однотенантных Azure Logic Apps, можно использовать Visual Studio Code с расширением Azure Logic Apps (standard) для локальной разработки, тестирования и хранения проекта приложения логики с помощью любой системы управления версиями. Тем не менее, чтобы получить полные преимущества простого и согласованного развертывания рабочих процессов в разных средах и платформах, необходимо также автоматизировать процесс сборки и развертывания.
Расширение Azure Logic Apps (standard) предоставляет средства для создания и обслуживания автоматизированных процессов сборки и развертывания с помощью Azure DevOps. Однако прежде чем начать эту автоматизацию, рассмотрите следующие элементы:
Ресурс приложения логики Azure, в котором вы создаете рабочие процессы
Подключения, размещенные в Azure, которые используют рабочие процессы и создаются из соединителей, управляемых Корпорацией Майкрософт.
Эти подключения отличаются от подключений, которые выполняются напрямую и изначально с помощью среды выполнения Azure Logic Apps.
Конкретные параметры и параметры для разных сред, в которых требуется развернуть
Расширение помогает выполнить следующие необходимые задачи для автоматизации сборки и развертывания:
Параметризация ссылок на подключения во время разработки. Эта задача упрощает процесс обновления ссылок в разных средах без нарушения локальной функциональности разработки.
Создайте скрипты, которые автоматизируют развертывание для ресурса приложения логики уровня "Стандартный", включая все зависимые ресурсы.
Создайте сценарии, автоматизирующие развертывание для подключений, размещенных в Azure.
Подготовьте параметры для конкретной среды, которые можно внедрить в пакет Azure Logic Apps во время процесса сборки, не нарушая локальные функции разработки.
Создайте конвейеры по запросу с помощью Azure DevOps для поддержки развертывания инфраструктуры вместе с процессами сборки и выпуска.
В этом руководстве показано, как выполнить следующие задачи:
Создайте рабочую область приложения логики и проект в Visual Studio Code, включающую файлы, которые создают конвейеры для развертывания инфраструктуры, непрерывной интеграции (CI) и непрерывного развертывания (CD).
Создайте подключение между рабочей областью и репозиторием Git в Azure DevOps.
Создание конвейеров в Azure DevOps.
Дополнительные сведения см. в следующей документации:
Известные проблемы и ограничения
Эта возможность поддерживает только проекты приложений логики уровня "Стандартный". Если рабочая область Visual Studio Code содержит проект приложения логики "Стандартный" и проект пользовательского кода "Функции", оба сценария развертывания создаются, но проекты пользовательского кода в настоящее время игнорируются. Возможность создания конвейеров сборки для пользовательского кода включена в схему.
Расширение создает конвейеры для развертывания инфраструктуры, непрерывной интеграции (CI) и непрерывного развертывания (CD). Однако вы несете ответственность за подключение конвейеров к Azure DevOps и создание соответствующих триггеров.
В настоящее время расширение поддерживает только шаблоны управления ресурсами Azure (шаблоны ARM) для сценариев развертывания инфраструктуры. Другие шаблоны находятся в планировании.
Необходимые компоненты
Учетная запись и подписка Azure. Если у вас нет ее, вы можете зарегистрироваться для получения бесплатной учетной записи Azure.
Visual Studio Code с расширением Azure Logic Apps (стандартный). Чтобы удовлетворить эти требования, см. предварительные требования для создания стандартных рабочих процессов с помощью Visual Studio Code.
Задачи сборки и выпуска Azure Logic Apps (цен. категория "Стандартный") для задач Azure DevOps. Эти задачи можно найти в Azure DevOps Marketplace.
Существующий репозиторий Git в Azure DevOps , где можно хранить проект приложения логики.
Подключение службы Azure Resource Manager к существующему субъекту-службе.
Существующая группа ресурсов Azure, в которой требуется развернуть приложение логики.
Создание рабочей области приложения логики, проекта и рабочего процесса
В Visual Studio Code на панели действий выберите значок Azure.
В окне Azure на панели инструментов рабочей области откройте меню Azure Logic Apps и выберите "Создать рабочую область приложения логики".
Следуйте инструкциям, чтобы выполнить следующие задачи:
Выберите папку для создания рабочей области.
Введите имя рабочей области.
Выберите тип проекта: приложение логики
Введите имя проекта приложения логики.
Выберите шаблон рабочего процесса. Введите имя рабочего процесса.
Выберите, следует ли открыть рабочую область в текущем окне Visual Studio Code или в новом окне.
Visual Studio Code отображает новый проект рабочей области и приложения логики.
Выполните следующие действия, чтобы открыть конструктор рабочих процессов:
В проекте приложения логики разверните папку с именем рабочего процесса.
Если файл еще не открыт, откройте файл workflow.json , откройте контекстное меню файла и выберите "Открыть конструктор".
Когда появится запрос на разрешение параметризации подключений при загрузке проекта, нажмите кнопку "Да".
Этот выбор позволяет проекту использовать параметры в определениях подключений, чтобы автоматизировать сборку и развертывание для разных сред.
Следуйте инструкциям, чтобы выбрать следующие элементы:
Использование соединителей из Azure
Примечание.
Если пропустить этот шаг, можно использовать только встроенные соединители, размещенные в среде выполнения. Чтобы включить управляемые корпорацией Майкрософт соединители, размещенные в Azure, выполните следующие действия.
Откройте контекстное меню для файла workflow.json и выберите "Использовать соединители" из Azure.
Выберите существующую группу ресурсов Azure, которую вы хотите использовать для приложения логики.
Перезагрузите конструктор рабочих процессов.
Существующая группа ресурсов Azure, которую вы хотите использовать для приложения логики
По завершении перезагрузите конструктор рабочих процессов. Выполните вход в Azure, если потребуется.
Теперь вы можете изменить рабочий процесс любым способом, который вы хотите и локально протестировать рабочий процесс. Сведения о создании и тестировании примера рабочего процесса см. в статье "Создание стандартных рабочих процессов с помощью Visual Studio Code".
Создание скриптов развертывания
После создания и локального тестирования рабочего процесса создайте сценарии развертывания.
В пустой области под всеми файлами проекта откройте контекстное меню проекта и выберите команду "Создать скрипты развертывания".
Чтобы выполнить следующие действия, выполните следующие действия:
Выберите существующую группу ресурсов Azure, используемую для приложения логики.
Введите уникальное имя ресурса приложения логики.
Введите уникальное имя ресурса учетной записи хранения.
Введите уникальное имя, используемое для плана Служба приложений.
Выберите папку рабочей области, в которой нужно создать файлы.
Расположение папки развертывания Description Новая папка развертывания (по умолчанию) Создайте новую папку в текущей рабочей области. Выбор другой папки Выберите другую папку в текущей рабочей области.
По завершении Visual Studio Code создает папку с именем deployment/{logic-app-name} в корневом каталоге рабочей области. В этой папке используется то же имя приложения логики, которое вы указали в этих шагах.
Примечание.
Значения переменных, параметров приложения и параметров в следующих файлах предварительно заполнены на основе входных данных, указанных в этих шагах. При выборе другой среды убедитесь, что вы обновляете значения для созданных параметров и файлов переменных.
В папке {logic-app-name} у вас есть следующая структура:
Имя папки Имя и описание файла ADOPipelineScripts - CD-pipeline.yml. Конвейер непрерывной доставки, содержащий инструкции по развертыванию кода приложения логики в ресурсе приложения логики в Azure.
- CD-pipeline-variables.yml: ФАЙЛ YAML, содержащий переменные, используемые файлом CD-pipeline.yml.
- CI-pipeline.yml. Конвейер непрерывной интеграции, содержащий инструкции по сборке и созданию артефактов, необходимых для развертывания ресурса приложения логики в Azure.
- CI-pipeline-variables.yml: ФАЙЛ YAML, содержащий переменные, используемые файлом CI-pipeline.yml.
- infrastructure-pipeline.yml. Конвейер YAML "Инфраструктура как код", содержащий инструкции по загрузке всех шаблонов ARM в Azure и выполнение шагов в файле infrastructure-pipeline-template.yml.
- infrastructure-pipeline-template.yml: файл конвейера YAML, содержащий шаги по развертыванию ресурса приложения логики со всеми необходимыми зависимостями и развертыванием каждого управляемого подключения, необходимого для исходного кода.
- infrastructure-pipeline-variables.yml: конвейер YAML, содержащий все переменные, необходимые для выполнения шагов в файле infrastructure-pipeline-template.yml.ArmTemplates - {тип подключения}.parameters.json: файл параметров Resource Manager, содержащий параметры, необходимые для развертывания размещенного в Azure подключения с именем {тип подключения} в Azure. Этот файл существует для каждого размещенного в Azure подключения в рабочем процессе.
- {connection-type}.template.json: файл шаблона Resource Manager, представляющий размещенное в Azure соединение с именем {connection-reference} и содержит сведения, используемые для развертывания соответствующего ресурса подключения в Azure. Этот файл существует для каждого размещенного в Azure подключения в рабочем процессе.
- {logic-app-name}.parameters.json: файл параметров Resource Manager, содержащий параметры, необходимые для развертывания ресурса приложения логики standard с именем {logic-app-name} в Azure, включая все зависимости.
- {logic-app-name}.template.json: файл шаблона Resource Manager, представляющий ресурс приложения логики "Стандартный" с именем {logic-app-name} и содержит сведения, используемые для развертывания ресурса приложения логики в Azure.WorkflowParameters parameters.json. Этот JSON-файл является копией файла локальных параметров и содержит копию всех пользовательских параметров, а также облачную версию всех параметров, созданных расширением для параметризации подключений, размещенных в Azure. Этот файл используется для создания пакета, который развертывается в Azure.
Подключение рабочей области к репозиторию Git
Выполните следующие действия, чтобы инициализировать репозиторий:
В Visual Studio Code на панели действий щелкните значок системы управления версиями .
В окне "Управление версиями" выберите "Инициализировать репозиторий".
В меню запроса выберите " Выбрать папку". Выберите корневую папку рабочей области и выберите "Инициализировать репозиторий".
В окне управления версиями выберите "Открыть репозиторий".
В меню запроса выберите только что созданный репозиторий.
Дополнительные сведения см. в Visual Studio Code. Инициализация репозитория в локальной папке.
Выполните следующие действия, чтобы получить URL-адрес репозитория Git, чтобы добавить удаленный.
В Azure DevOps откройте командный проект для организации Azure DevOps.
В меню слева разверните репозиторий и выберите "Файлы".
На панели инструментов панели "Файлы" выберите "Клонировать".
В окне репозитория клонирования скопируйте версию HTTPS URL-адреса клона.
Дополнительные сведения см. в статье "Получение URL-адреса клона" для репозитория Git в Azure Repos.
Выполните следующие действия, чтобы добавить удаленный репозиторий Git:
В командной строке вставьте скопированный URL-адрес и введите имя удаленного, которое обычно является источником.
Теперь вы создали подключение между Visual Studio Code и репозиторием.
Перед настройкой конвейеров в следующем разделе откройте файл CD-pipeline.yml и переименуйте конвейер CI в атрибуте
source
, чтобы он соответствовал имени конвейера CI, который требуется использовать.В окне управления версиями зафиксируйте изменения и опубликуйте их в репозитории.
Дополнительные сведения см. в разделе "Этап" и "Фиксация изменений кода".
Создание конвейеров в Azure DevOps
Чтобы создать инфраструктуру вместе с конвейерами CI и CD в Azure DevOps, повторите следующие действия для каждого из следующих файлов конвейера:
- infrastructure-pipeline.yml для конвейера "Инфраструктура как код".
- CI-pipeline.yml для конвейера непрерывной интеграции.
- CD-pipeline.yml для конвейера непрерывной доставки.
Настройка конвейера
В Azure DevOps вернитесь в командный проект и в область "Файлы Репозитория>".
На панели "Файлы" выберите "Настройка сборки".
На панели "Инвентаризация конвейера" подтвердите сведения о репозитории и выберите "Настройка конвейера".
На панели "Настройка конвейера" выберите существующий ФАЙЛ YAML Azure Pipelines.
В области выбора существующего файла YAML выполните следующие действия, чтобы выбрать файл Infrastructure-pipeline.yml:
В качестве ветви выберите ветвь, в которой были зафиксированы изменения, например main или ваша ветвь выпуска.
Для пути выберите путь, используемый для конвейера. Следующий путь — это значение по умолчанию:
deployment/{logic-app-name}/ADOPipelineScripts/{infrastructure-pipeline-name}.yml
Когда вы будете готовы, нажмите кнопку "Продолжить".
На панели "Настройка конвейера" выберите "Проверка конвейера".
На панели "Просмотр управляемого конвейера " укажите следующие сведения:
- Имя конвейера: введите имя конвейера.
- Папка конвейера: выберите папку для сохранения конвейера, которая называется ./deployment/{logic-app-name}/pipelines.
По завершении выберите Сохранить.
Просмотр и запуск конвейера
Чтобы найти и запустить конвейер, выполните следующие действия.
В меню слева проекта группы разверните узел "Конвейеры" и выберите "Конвейеры".
Выберите вкладку "Все", чтобы просмотреть все доступные конвейеры. Найдите и выберите конвейер.
На панели инструментов конвейера выберите "Запустить конвейер".
Дополнительные сведения см. в статье "Создание первого конвейера".