Общие сведения о неизменяемой инфраструктуре CI/CD с использованием Jenkins и terraform в виртуальной архитектуре Azure

Log Analytics
Управляемые диски
Масштабируемые наборы виртуальных машин
GitHub

Концепция решения

если вы хотите узнать больше о том, как получить дополнительные сведения о возможных вариантах использования, альтернативных службах, рекомендациях по реализации или ценах, сообщите нам о GitHub.

Azure — это облако мирового класса для размещения виртуальных машин под управлением Windows или Linux. Независимо от того, используется ли Java, Node.js, Go или PHP для разработки приложений, вам потребуется конвейер непрерывной интеграции и непрерывного развертывания (CI/CD) для автоматической отправки изменений на эти виртуальные машины.

Architecture

Схема архитектуры . Скачайте SVG этой архитектуры.

Поток данных

  1. Изменение исходного кода приложения.
  2. Зафиксируйте код для GitHub.
  3. Триггер непрерывной интеграции с Jenkins.
  4. Jenkins активирует сборку образа пакета, чтобы создать виртуальную машину и сохранить ее как образ виртуальной машины с помощью управляемых дисков Azure.
  5. Jenkins запускает terraform, чтобы подготавливать новый масштабируемый набор виртуальных машин с помощью образа виртуальной машины "управляемые диски Azure".
  6. Azure Log Analytics собирает и анализирует журналы.
  7. Мониторинг приложения и внесение усовершенствований.

Компоненты

  • Управляемые диски: постоянное, защищенное дисковое хранилище для виртуальных машин Azure.
  • масштабируемые наборы виртуальных машин: управление и масштабирование до тысяч виртуальных машин Linux и Windows.
  • Log Analytics: собирайте, ищите и визуализируйте данные компьютеров из локальной среды и облака.
  • Visual Studio Code: создание и развертывание многоплатформенных приложений для получения наибольшего из служб Azure.

Дальнейшие действия

Развернуть в Azure