Шаблон конвейера CI / CD для приложения логики и функции лазури - PullRequest
1 голос
/ 09 мая 2019

У меня есть logic app, который подключается к серверу sftp (виртуальная машина, которую я создал в Azure) и выполняет действия при добавлении файла в этот sftp:

  • Когда файл добавлен, я создаю новый BLOB-объект в хранилище BLOB-объектов.

  • Удалить файл с SFTP-сервера

Я также создал blob trigger-based azure function, который при каждом создании большого двоичного объекта обрабатывает некоторые действия (например, дешифрование и анализ содержимого BLOB-объекта). Следующие шаги будут связаны цепочкой выполнения некоторых других функций Azure в моем приложении логики (например, отправка электронной почты после выполнения, функция Azure и т. Д.) ... *

Теперь у меня есть два основных вопроса: Чтобы иметь лучшее CI/CD pipeline, подходящее для этого рабочего процесса, я должен создать приложение логики from the portal или from visual studio и почему, пожалуйста?

Поместить ли функцию Azure и приложение логики в одно решение / Репо? Тот же проект?

Тогда, как мне создать конвейер CI / CD (шаблон типа и шаги, пожалуйста )?

Ps: я хочу добавить модульные тесты , чтобы проверить, правильно ли работают мое логическое приложение и функция Azure, поэтому я хочу интегрировать шаг теста в мое определение сборки.

Подробнее о приложении логики см. Этот Вопрос о переполнении стека , в котором я подробно описал процесс

и вот приложение логики

Logic app image

1 Ответ

0 голосов
/ 10 мая 2019

Пожалуйста, найдите следующие пункты:

  1. Я бы порекомендовал использовать Visual Studio.Основное преимущество заключается в том, что он дает вам тот же опыт конструктора, и вы можете использовать шаблон ARM и параметры для надежного развертывания приложения логики в нескольких средах на dev, Staging, proc и т. Д., Создавая надежный конвейер CI / CD.Это также дает вам преимущество использования хранилищ ключей Azure с использованием шаблона ARM и синтаксиса параметров для хранения любых конфиденциальных данных.
  2. Кроме того, Visual Studio позволяет подключаться к облаку с помощью облачного обозревателя, где вы можете имитировать повторную отправку, историю выполнения и т. Д.
  3. Если вы используете функцию Azure только для одного процесса, вы можете поместить ее подте же решения, но хранение функций Azure в качестве отдельного Repo обеспечивает большую гибкость повторного использования, так что другие приложения также могут использовать его.
  4. Вы можете использовать поток Speck для автоматизации тестирования логических приложений Приложение автоматической логики тестирования со спекфлоу , эта ссылка подробно объяснила это.
...