CI/CD для приложений Java с использованием Jenkins и веб-приложений службы приложений AzureJava CI/CD using Jenkins and Azure Web Apps

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

Если вы хотите ознакомиться с этой статьей, дополнительные сведения (сведения о реализации, рекомендации по ценам, примеры кода и т. д.), сообщите нам о отзывах в GitHub!If you'd like to see us expand this article with more information (implementation details, pricing guidance, code examples, etc), let us know with GitHub Feedback!

Служба приложений Azure — это быстрый и простой способ создания веб-приложений с помощью Java, Node, PHP или ASP.NET, а также поддержки пользовательских языковых сред выполнения с помощью DOCKER.Azure App Service is a fast and simple way to create web apps using Java, Node, PHP or ASP.NET, as well as support for custom language runtimes using Docker. Конвейер непрерывной интеграции и непрерывного развертывания (CI/CD), который автоматически отправляет каждый из ваших изменений в службы приложений Azure, позволяет быстрее предоставлять клиентам более высокую ценность.A continuous integration and continuous deployment (CI/CD) pipeline that pushes each of your changes automatically to Azure app services allows you to deliver value faster to your customers.

АрхитектураArchitecture

Схема архитектуры . Скачайте SVG этой архитектуры.Architecture diagram Download an SVG of this architecture.

Поток данныхData Flow

  1. Изменение исходного кода приложенияChange application source code
  2. Фиксация кода в GitHubCommit code to GitHub
  3. Триггер непрерывной интеграции с JenkinsContinuous Integration Trigger to Jenkins
  4. Jenkins запускает задание сборки с помощью службы "экземпляры контейнеров Azure" для динамического агента сборки.Jenkins triggers a build job using Azure Container Instances for a dynamic build agent
  5. Jenkins создает и сохраняет артефакт в службе хранилища AzureJenkins builds and stores artifact in Azure Storage
  6. Jenkins развертывает приложение Java в веб-приложениях Azure, которые поддерживаются базой данных Azure для MySQL.Jenkins deploys Java application to Azure Web Apps backed by Azure Database for MySQL
  7. Azure App Insights предоставляет метрики производительности приложений.Azure App Insights provides metrics on application performance
  8. Мониторинг приложения и внесение усовершенствованийMonitor application and make improvements

ComponentsComponents

  • Веб-приложения Azure. быстро создавайте и развертывайте критически важные веб-приложения в масштабеAzure Web Apps: Quickly create and deploy mission critical Web apps at scale
  • Экземпляры контейнеров: простое выполнение контейнеров в Azure без управления серверамиContainer Instances: Easily run containers on Azure without managing servers
  • База данных Azure для MySQL: управляемая служба базы данных MySQL для разработчиков приложенийAzure Database for MySQL: Managed MySQL database service for app developers
  • Application Insights: обнаружение, рассмотрение и диагностика проблем в веб-приложениях и службахApplication Insights: Detect, triage, and diagnose issues in your web apps and services
  • Azure DevOps: создание и развертывание многоплатформенных приложений для получения максимальной из служб AzureAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

Следующие шагиNext steps

Развертывание в AzureDeploy to Azure