DevOps 解决方案

发现可更快、更可靠地交付软件的工具和技术

Azure 上的 DevOps 工具

借助 Azure 上的端到端解决方案,团队可在应用程序生命周期的各阶段(规划、开发、交付和操作)实施 DevOps 做法。这些 DevOps 技术与人员和流程相结合,使团队能够不断地为客户提供价值。

套餐

支持团队敏捷管理工作并全面了解各产品和项目。使用 Azure Boards 通过看板、积压工作 (backlog) 自定义仪表板和报告功能定义、跟踪和安排工作。使用 GitHub 确保开发工作透明且遵照计划。使用视觉对象浏览分析,并使用 Power BI 将数据转换为见解。

开发

使用 Visual StudioVisual Studio Code 更快、更智能地编写代码。通过 GitHub 与具有相同想法的开发人员共享代码并进行协作。借助 Azure Pipelines 在云中自动化测试并使用持续集成,通过 GitHub 操作创建从概念到生产的自动工作流,甚至可将 Jenkins 工作负荷转移到 Azure。利用 Azure 开发测试实验室在几分钟内为开发人员预配环境。

传送

向所有 Azure 服务自动部署应用程序,并保持对其的完全控制,以便向客户持续传递价值。使用 Azure 资源管理器HashiCorp Terraform 定义并快速启动多个云环境,然后使用 Azure PipelinesJenkins 和 Spinnaker 等工具在这些环境中创建连续交付管道。

运营

使用 Azure Monitor 实现完整的堆栈监视,获得可操作的警报,并从日志和遥测中获取见解。使用 Azure AutomationAnsibleChef 或 Puppet 等工具管理云环境。

保持预配的基础结构和应用程序符合 Azure Policy 或 Chef Automate。与 Azure 安全中心结合使用,可限制暴露风险,快速找到并修复漏洞。

DevOps 与 GitHub

使用 GitHub 中与 Azure 集成的轻量级工具和功能,探索新的方法来改进云中的 DevOps 流程和做法。

在 GitHub 和 Azure 上构建 DevOps 工作流

利用 GitHub 与 Azure BoardsAzure Pipelines 的深度集成,促进代码评审的优化并保持开发团队的协调。管理身份和权限,以便与 GitHub 和 Azure Active Directory 更顺畅地协作。通过使用现有的 GitHub 凭证登录到 Azure 和 Azure DevOps,可以更快地访问任何其他的 Azure 解决方案。

将开源优势和企业级安全性相结合

使用大型开源项目的最佳做法(如开放协作、共享和重用代码,以及增加透明度),以名为 innersource 的开发方法构建组织的专有软件。

通过 GitHub 实现 innersource 可提高团队协作精神、参与性和生产效率,同时解决随着流程变得更加开放而出现的企业级的安全性和遵从性需求。

DevOps 做法的解决方案

使用 Azure DevOps 等内置 Azure 服务满足你的需求的 DevOps 解决方案。同样,汇总用于匹配独特工作流的各种开源 DevOps 工具,然后在 Azure 上无缝集成这些工具。无论应用使用虚拟机、Web 应用还是 Kubernetes,都要使用 Azure 和选择的 DevOps 工具链实现 DevOps 做法,比如持续集成和持续交付 (CI/CD)、基础结构即代码和持续监视。

通过持续集成和持续交付,以及选择的工具,自动化 DevOps 流程从代码到云的各部分:

  • 定义一个 CI/CD 管道,并使用 Azure Pipelines 管理多个环境的发布版本。
  • 面向 Azure 上的所有服务,包括 Azure Kubernetes 服务 (AKS)、Azure 虚拟机或 Azure Functions。
  • 使用 GitHub 操作自动化工作流。
  • 托管 Jenkins 工作负荷,使用适用于 Azure 的 Jenkins 插件扩展现有配置或简化 CI/CD。
  • 使用 Spinnaker 在 Azure 中创建快速且可重复的部署。

采用敏捷的软件开发方法,通过规划、跟踪和报告来缩短发布周期并全面了解软件开发过程。使用 GitHub 管理项目。使用 Azure Boards 进行以下操作:

  • 定义、分配和跟踪工作项。
  • 管理积压工作 (backlog)。
  • 创建自定义仪表板以跟踪进度。
  • 获取高级分析和报告。

管理 git 存储库,与 GitHub 进行共享和协作。若要为团队创建一个可靠的代码工作流,可借助:

以描述性的方式定义云资源,以控制环境的版本并将其与应用程序代码一起提交到存储库中。通过将基础结构视为代码,你能够以可重复和可靠的方式部署云资源,确保云环境得到完全治理。

管理整个系统的资源配置,以强制达到所需的状态、推出配置更新以及自动解决意外更改和问题。Azure 提供了多种用于配置管理的 DevOps 工具,包括 AnsibleChef、Puppet 和 Azure 自动化

使用 Azure Monitor,监视基础结构运行状况,并将其集成到 Grafana、Kibana 或 Azure 门户中的现有仪表板。

  • 使用全栈连续监视。
  • 在各 Azure 服务上配置可操作警报。
  • 收集、查询和分析日志,以获得见解并缓解问题。
  • 对 Azure Kubernetes 服务 (AKS) 使用内置的容器监视。

DevOps 解决方案体系结构

了解如何在常见 DevOps 方案中使用 Azure 汇总多种工具和技术。

CI/CD para ContentoresOs contentores facilitam em muito a tarefa de compilar e implementar aplicações de forma contínua. Ao orquestrar a implementação desses contentores através do Kubernetes no Azure Kubernetes Service (AKS), pode obter clusters de contentores replicáveis e geríveis.12345678910
  1. 概述

适用于容器的 CI/CD

概述

使用容器,可轻松地持续生成和部署应用程序。使用 Azure Kubernetes 服务 (AKS) 中的 Kubernetes 协调这些容器的部署,获得可复制、可管理的容器群集。

Azure DevOps 通过设置持续版本以生成容器映像和业务流程,让你能更快、更可靠地进行部署。

  1. 1 更改应用程序源代码
  2. 2 提交应用程序代码
  3. 3 持续集成触发应用程序生成、容器映像生成和单元测试
  4. 4 容器映像已推送到 Azure 容器注册表
  5. 5 持续部署触发器使用环境特定的参数来协调应用程序项目的部署
  6. 6 部署到 Azure Kubernetes 服务 (AKS)
  7. 7 在 Azure 容器注册表中使用容器映像启动容器
  8. 8 Application Insights 收集并分析运行状况、性能和使用情况数据
  9. 9 查看运行状况、性能和使用情况信息
  10. 10 更新积压工作项
Java CI/CD using Jenkins and Azure Web AppsAzure 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. 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.JenkinsAzure ContainerInstancesAzureFilesAzure WebAppsAzure Databasefor MySQLGitHubIntelliJEngineerApplicationInsights182345677
  1. 概述

使用 Jenkins 和 Azure Web 应用的 Java CI/CD

概述

借助 Azure 应用服务,你可以快速轻松地使用 Java、Node、PHP 或 ASP.NET 来创建 Web 应用,并使用 Docker 支持自定义语言运行时。持续集成和持续部署 (CI/CD) 管道可将每一个更改自动推送到 Azure 应用服务,让你更快地为客户创造价值。

  1. 1 更改应用程序源代码
  2. 2 将代码提交到 GitHub
  3. 3 Jenkins 持续集成触发器
  4. 4 Jenkins 触发生成作业,将 Azure 容器实例用作动态生成代理
  5. 5 Jenkins 在 Azure 存储中生成和存储项目
  6. 6 Jenkins 将 Java 应用程序部署到由 Azure Database for MySQL 支持的 Azure Web 应用
  7. 7 Azure App Insights 提供有关应用程序性能的指标
  8. 8 监视应用程序并进行改进
Container CI/CD using Jenkins and Kubernetes on Azure Kubernetes Service (AKS)Containers make it easy for you to continuously build and deploy applications. By orchestrating the deployment of those containers using Azure Kubernetes Service (AKS), you can achieve replicable, manageable clusters of containers.123456778
  1. 概述

在 Azure Kubernetes 服务 (AKS) 中使用 Jenkins 和 Kubernetes 实现容器 CI/CD

概述

使用容器,可轻松地持续生成和部署应用程序。使用 Azure Kubernetes 服务 (AKS) 协调这些容器的部署,获得可复制、可管理的容器群集。

通过设置持续生成来生成容器映像和业务流程,可更快更可靠地进行部署。

  1. 1 更改应用程序源代码。
  2. 2 将代码提交到 GitHub。
  3. 3 Jenkins 持续集成触发器。
  4. 4 Jenkins 触发生成作业,将 Azure Kubernetes 服务 (AKS) 用作动态生成代理。
  5. 5 Jenkins 生成 Docker 容器并将其推送到 Azure 容器注册表。
  6. 6 Jenkins 将新的容器化应用部署到 Kubernetes on Azure。
  7. 7 容器服务 (AKS),由 Azure Cosmos DB 支持。
  8. 8 Grafana 通过 Azure Monitor 显示经过可视化处理的基础架构和应用程序指标。
  9. 9 监视应用程序并进行改进。
Información general sobre la integración e implementación continuas (CI/CD) de infraestructuras inmutables mediante Jenkins y Terraform en la arquitectura virtual de AzureAzure es una nube mundial para hospedar máquinas virtuales Windows o Linux. Independientemente de que use Java, Node.js, Go o PHP para desarrollar las aplicaciones, necesitará una canalización de integración e implementación continuas (CI/CD) para enviar los cambios a estas máquinas virtuales de manera automática.JenkinsAzure Virtual MachineScale SetsTerraformAzure Managed Disks(VM Image)PackerGitHubEngineerAzure Log Analytics1765554423Visual Studio Code
  1. 概述

在 Azure 虚拟体系结构中使用 Jenkins 和 Terraform 的不可变基础结构 CI/CD 概述

概述

Azure 是用于托管运行 Windows 或 Linux 的虚拟机的世界级云。无论使用 Java、Node.js 还是 PHP 来开发应用程序,都需要持续集成和持续部署 (CI/CD) 管道自动将更改推送到这些虚拟机。

  1. 1 更改应用程序源代码。
  2. 2 将代码提交到 GitHub。
  3. 3 Jenkins 持续集成触发器。
  4. 4 Jenkins 触发 Packer 映像生成,创建一个 VM,并使用 Azure 托管磁盘将其存储为 VM 映像。
  5. 5 Jenkins 触发 Terraform,使用 Azure 托管磁盘 VM 映像预配新的虚拟机规模集。
  6. 6 Azure Log Analytics 收集并分析日志。
  7. 7 监视应用程序并进行改进。
CI/CD for Azure VMsAzure is a world-class cloud for hosting virtual machines running Windows or Linux. Whether you use ASP.NET, Java, Node.js, or PHP to develop applications, you’ll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.1234567888910
  1. 概述

适用于 Azure VM 的 CI/CD

概述

Azure 是用于托管运行 Windows 或 Linux 的虚拟机的世界级云。无论使用 Java、Node.js 还是 PHP 来开发应用程序,都需要通过持续集成和持续部署 (CI/CD) 管道将更改自动推送到这些虚拟机。

Azure DevOps 提供 CI/CD 管道,首先是一个用于管理应用程序源代码和基础结构代码的 Git 存储库(ARM 模板)、一个用于生成包和其他生成项目的 Build 系统,还有一个用于设置管道以通过开发、测试和生产环境部署更改的发布管理系统。管道使用 ARM 模板在每个环境中按需预配或更新基础结构,然后部署更新的版本。还可以使用 Azure 开发/测试实验室自动取消未使用的测试资源。

  1. 1 更改应用程序源代码
  2. 2 提交应用程序代码和 Azure 资源管理器 (ARM) 模板
  3. 3 持续集成触发应用程序生成和单元测试
  4. 4 持续部署触发器使用环境特定的参数来协调应用程序项目的部署
  5. 5 部署到 QA 环境
  6. 6 部署到过渡环境
  7. 7 部署到生产环境
  8. 8 Application Insights 收集并分析运行状况、性能和使用情况数据
  9. 9 查看运行状况、性能和使用情况信息
  10. 10 更新积压工作项
CI/CD for Azure Web AppsAzure Web Apps is a fast and simple way to create web apps using ASP.NET, Java, Node.js, or PHP. Deliver value faster to your customers with a continuous integration and continuous deployment (CI/CD) pipeline that pushes each of your changes automatically to Web Apps.12345678
  1. 概述

Azure Web 应用的 CI/CD

概述

借助 Azure Web 应用,可快速简单地使用 ASP.NET、Java、Node.js 或 PHP 创建 Web 应用。通过持续集成和持续部署 (CI/CD) 管道将每一个更改自动推送到 Web 应用,从而更快地为客户创造价值。

  1. 1 更改应用程序源代码。
  2. 2 提交应用程序代码和 Web 应用 web.config 文件。
  3. 3 持续集成触发应用程序生成和单元测试。
  4. 4 持续部署触发器使用特定于环境的参数来协调应用程序项目的部署。
  5. 5 部署到 Web 应用。
  6. 6 Azure Application Insights 收集并分析运行状况、性能和使用情况数据。
  7. 7 查看运行状况、性能和使用情况信息。
  8. 8 更新积压工作项。
DevTest image factoryCreate, maintain, and distribute custom images with the DevTest Image Factory, an automated image development and management solution from Azure Dev Test Labs.