Executar um servidor Jenkins no AzureRun a Jenkins server on Azure

Esta arquitetura de referência mostra como implementar e operar um servidor Jenkins dimensionável e de nível empresarial no Azure, protegido por início de sessão único (SSO).This reference architecture shows how to deploy and operate a scalable, enterprise-grade Jenkins server on Azure secured with single sign-on (SSO). A arquitetura também utiliza o Azure Monitor para monitorizar o estado do servidor Jenkins.The architecture also uses Azure Monitor to monitor the state of the Jenkins server. Implementar esta solução.Deploy this solution.

Servidor Jenkins em execução no Azure

Transfira um ficheiro do Visio que contém este diagrama de arquitetura.Download a Visio file that contains this architecture diagram.

Esta arquitetura suporta a recuperação após desastre com serviços do Azure, mas não abrange cenários mais avançados de escalamento horizontal que envolvem vários modelos de estrutura mestres ou elevada disponibilidade (HA) sem período de indisponibilidade.This architecture supports disaster recovery with Azure services but does not cover more advanced scale-out scenarios involving multiple masters or high availability (HA) with no downtime. Para obter informações gerais sobre os vários componentes do Azure, incluindo um tutorial passo a passo sobre como criar um pipeline CI/CD no Azure, veja Jenkins no Azure.For general insights about the various Azure components, including a step-by-step tutorial about building out a CI/CD pipeline on Azure, see Jenkins on Azure.

Este documento centra-se nas principais operações do Azure necessárias para suportar o Jenkins, incluindo a utilização do Armazenamento do Azure para manter os artefactos de compilação, os itens de segurança necessários para SSO, outros serviços que podem ser integrados e escalabilidade para o pipeline.The focus of this document is on the core Azure operations needed to support Jenkins, including the use of Azure Storage to maintain build artifacts, the security items needed for SSO, other services that can be integrated, and scalability for the pipeline. A arquitetura foi concebida para trabalhar com um repositório de controlo de código fonte existente.The architecture is designed to work with an existing source control repository. Por exemplo, um cenário comum é iniciar tarefas do Jenkins com base nas consolidações do GitHub.For example, a common scenario is to start Jenkins jobs based on GitHub commits.

ArquiteturaArchitecture

A arquitetura é composta pelos seguintes componentes:The architecture consists of the following components:

  • Grupo de recursos.Resource group. O grupo de recursos é utilizado para agrupar os recursos do Azure para que possam ser geridos por duração, proprietário e outros critérios.A resource group is used to group Azure assets so they can be managed by lifetime, owner, and other criteria. Utilize grupos de recursos para implementar e monitorizar recursos do Azure como um grupo e controlar os custos de faturação por grupo de recursos.Use resource groups to deploy and monitor Azure assets as a group and track billing costs by resource group. Também pode eliminar recursos como um conjunto, o que é muito útil para implementações de teste.You can also delete resources as a set, which is very useful for test deployments.

  • Servidor Jenkins.Jenkins server. Uma máquina virtual é implementada para executar o Jenkins como um servidor de automatização e para servir de Mestre do Jenkins.A virtual machine is deployed to run Jenkins as an automation server and serve as Jenkins Master. Esta arquitetura de referência utiliza o modelo de solução para Jenkins no Azure, instalado numa máquina virtual do Linux (Ubuntu 16.04 LTS) no Azure.This reference architecture uses the solution template for Jenkins on Azure, installed on a Linux (Ubuntu 16.04 LTS) virtual machine on Azure. Estão disponíveis outras ofertas do Jenkins no Azure Marketplace.Other Jenkins offerings are available in the Azure Marketplace.

    Nota

    O Nginx está instalado na VM para atuar como proxy inverso do Jenkins.Nginx is installed on the VM to act as a reverse proxy to Jenkins. Pode configurar o Nginx para ativar o SSL para o servidor Jenkins.You can configure Nginx to enable SSL for the Jenkins server.

  • Rede virtual.Virtual network. A rede virtual liga os recursos do Azure entre si e fornece isolamento lógico.A virtual network connects Azure resources to each other and provides logical isolation. Nesta arquitetura, o servidor Jenkins é executado numa rede virtual.In this architecture, the Jenkins server runs in a virtual network.

  • Sub-redes.Subnets. O servidor Jenkins está isolado numa sub-rede para tornar mais fácil gerir e segregar o tráfego de rede sem afetar o desempenho.The Jenkins server is isolated in a subnet to make it easier to manage and segregate network traffic without impacting performance.

  • NSGs.NSGs. Utilize grupos de segurança de rede (NSGs) para restringir o tráfego de rede da Internet à sub-rede de uma rede virtual.Use network security groups (NSGs) to restrict network traffic from the Internet to the subnet of a virtual network.

  • Discos geridos.Managed disks. Um disco gerido é um disco rígido virtual (VHD) persistente utilizado para armazenamento de aplicações e, também, para manter o estado do servidor Jenkins e assegurar a recuperação após desastre.A managed disk is a persistent virtual hard disk (VHD) used for application storage and also to maintain the state of the Jenkins server and provide disaster recovery. Os discos de dados são armazenados no Armazenamento do Azure.Data disks are stored in Azure Storage. Para obter um elevado desempenho, recomendamos o armazenamento premium.For high performance, premium storage is recommended.

  • Armazenamento de Blobs do Azure.Azure Blob Storage. O plug-in do Armazenamento do Azure para o Windows utiliza o Armazenamento de Blobs do Azure para armazenar os artefactos de compilação que são criados e partilhados com outras compilações do Jenkins.The Windows Azure Storage plugin uses Azure Blob Storage to store the build artifacts that are created and shared with other Jenkins builds.

  • Azure Active Directory (Azure AD).Azure Active Directory (Azure AD). O Azure AD suporta a autenticação de utilizador, o que lhe permite configurar o SSO.Azure AD supports user authentication, allowing you to set up SSO. Os principais de serviço do Azure AD definem a política e as permissões para cada autorização de função no fluxo de trabalho ao utilizar o controlo de acesso baseado em funções (RBAC).Azure AD service principals define the policy and permissions for each role authorization in the workflow, using role-based access control (RBAC). Cada principal de serviço está associado a uma tarefa do Jenkins.Each service principal is associated with a Jenkins job.

  • Azure Key Vault.Azure Key Vault. Para gerir os segredos e as chaves criptográficas utilizados para aprovisionar os recursos do Azure quando são necessários segredos, esta arquitetura utiliza o Key Vault.To manage secrets and cryptographic keys used to provision Azure resources when secrets are required, this architecture uses Key Vault. Para obter ajuda adicional para armazenar segredos associados à aplicação no pipeline, veja também o plug-in das Credenciais do Azure para o Jenkins.For added help storing secrets associated with the application in the pipeline, see also the Azure Credentials plugin for Jenkins.

  • Serviços de monitorização do Azure.Azure monitoring services. Este serviço monitoriza a máquina virtual do Azure que aloja o Jenkins.This service monitors the Azure virtual machine hosting Jenkins. Esta implementação monitoriza o estado da máquina virtual e a utilização da CPU e envia alertas.This deployment monitors the virtual machine status and CPU utilization and sends alerts.

RecomendaçõesRecommendations

As recomendações seguintes aplicam-se à maioria dos cenários.The following recommendations apply for most scenarios. Siga-as, a não ser que tenha requisitos específicos que as anulem.Follow these recommendations unless you have a specific requirement that overrides them.

Azure ADAzure AD

O inquilino do Azure AD para a sua subscrição do Azure é utilizado para ativar o SSO para os utilizadores do Jenkins e para configurar principais de serviço que permitem às tarefas do Jenkins aceder aos recursos do Azure.The Azure AD tenant for your Azure subscription is used to enable SSO for Jenkins users and set up service principals that enable Jenkins jobs to access Azure resources.

A autenticação e autorização de SSO são implementadas pelo plug-in do Azure AD instalado no servidor Jenkins.SSO authentication and authorization are implemented by the Azure AD plugin installed on the Jenkins server. O SSO permite-lhe autenticar com as credenciais da sua organização do Azure AD quando iniciar sessão no servidor Jenkins.SSO allows you to authenticate using your organization credentials from Azure AD when logging on to the Jenkins server. Quando configurar o plug-in do Azure AD, pode especificar o nível de acesso autorizado de um utilizador ao servidor Jenkins.When configuring the Azure AD plugin, you can specify the level of a user’s authorized access to the Jenkins server.

Para fornecer às tarefas do Jenkins acesso aos recursos do Azure, um administrador do Azure AD tem de criar principais de serviço.To provide Jenkins jobs with access to Azure resources, an Azure AD administrator creates service principals. Estes concedem às aplicações (neste caso, as tarefas do Jenkins) acesso autorizado e autenticado aos recursos do Azure.These grant applications—in this case, the Jenkins jobs—authenticated, authorized access to Azure resources.

O RBAC rbac ajuda ainda mais a definir e a controlar o acesso aos recursos do Azure para os utilizadores ou principais de serviço através da respetiva função atribuída.RBAC further defines and controls access to Azure resources for users or service principals through their assigned role. Tanto as funções incorporadas como as personalizadas são suportadas.Both built-in and custom roles are supported. As funções também ajudam a proteger o pipeline e a garantir que as responsabilidades de um utilizador ou agente são atribuídas e autorizadas corretamente.Roles also help secure the pipeline and ensure that a user’s or agent’s responsibilities are assigned and authorized correctly. Além disso, pode configurar o RBAC para limitar o acesso aos recursos do Azure.In addition, RBAC can be set up to limit access to Azure assets. Por exemplo, um utilizador pode ser limitado a trabalhar apenas com os recursos num grupo de recursos específico.For example, a user can be limited to working with only the assets in a particular resource group.

ArmazenamentoStorage

Utilize o plug-in do Armazenamento do Azure para o Windows do Jenkins, o qual pode instalar a partir do Azure Marketplace, para armazenar artefactos de compilação que podem ser partilhados com outras compilações e testes.Use the Jenkins Windows Azure Storage plugin, which is installed from the Azure Marketplace, to store build artifacts that can be shared with other builds and tests. Tem de configurar uma conta do Armazenamento do Azure para que as tarefas do Jenkins possam utilizar este plug-in.An Azure Storage account must be configured before this plugin can be used by the Jenkins jobs.

Plug-ins do Azure para o JenkinsJenkins Azure plugins

O modelo de solução para o Jenkins no Azure instala vários plug-ins do Azure.The solution template for Jenkins on Azure installs several Azure plugins. A Equipa de DevOps do Azure cria e mantém o modelo de solução e os plug-ins seguintes, os quais funcionam com outras ofertas do Jenkins no Azure Marketplace, bem como com qualquer mestre do Jenkins configurado no local:The Azure DevOps Team builds and maintains the solution template and the following plugins, which work with other Jenkins offerings in Azure Marketplace as well as any Jenkins master set up on premises:

Também recomendamos que reveja a lista crescente de todos os plug-ins do Azure disponíveis que funcionam com os recursos do Azure.We also recommend reviewing the growing list of all available Azure plugins that work with Azure resources. Para ver a lista mais recente, visite o Índice de Plug-ins do Jenkins e procure o Azure.To see all the latest list, visit Jenkins Plugin Index and search for Azure. Por exemplo, os plug-ins seguintes estão disponíveis para implementação:For example, the following plugins are available for deployment:

Considerações de escalabilidadeScalability considerations

O Jenkins pode dimensionar para suportar cargas de trabalho de grandes dimensões.Jenkins can scale to support very large workloads. No caso das compilações elásticas, não execute compilações no servidor mestre do Jenkins.For elastic builds, do not run builds on the Jenkins master server. Em vez disso, descarregue as tarefas de compilação para os agentes do Jenkins, que podem ser reduzidos e aumentados horizontalmente conforme necessário.Instead, offload build tasks to Jenkins agents, which can be elastically scaled in and out as need. Considere duas opções para dimensionar agentes:Consider two options for scaling agents:

Geralmente, o dimensionamento das máquinas virtuais é mais dispendioso do que o dos contentores.Virtual machines generally cost more to scale than containers. Contudo, para utilizar contentores para dimensionamento, o processo de compilação tem de ser executado com contentores.To use containers for scaling, however, your build process must run with containers.

Além disso, utilize o Armazenamento do Azure para partilhar os artefactos de compilação que podem ser utilizados na fase seguinte do pipeline por outros agentes de compilação.Also, use Azure Storage to share build artifacts that may be used in the next stage of the pipeline by other build agents.

Dimensionar o servidor JenkinsScaling the Jenkins server

Pode aumentar ou reduzir verticalmente a VM do servidor Jenkins se alterar o tamanho da VM.You can scale the Jenkins server VM up or down by changing the VM size. O modelo de solução para o Jenkins no Azure especifica o tamanho DS2 v2 (com duas CPUs, 7 GB) por predefinição.The solution template for Jenkins on Azure specifies the DS2 v2 size (with two CPUs, 7 GB) by default. Este tamanho processa uma carga de trabalho de equipa pequena a média.This size handles a small to medium team workload. Altere o tamanho da VM ao escolher uma opção diferente quando compilar o servidor.Change the VM size by choosing a different option when building out the server.

Selecionar o tamanho de servidor correto depende do tamanho da carga de trabalho esperado.Selecting the correct server size depends on the size of the expected workload. A comunidade do Jenkins mantém um guia de seleção para ajudar a identificar a configuração mais adequada aos seus requisitos.The Jenkins community maintains a selection guide to help identify the configuration that best meets your requirements. O Azure oferece vários tamanhos de VMs do Linux para satisfazer quaisquer requisitos.Azure offers many sizes for Linux VMs to meet any requirements. Para obter mais informações sobre o dimensionamento do mestre do Jenkins, veja a comunidade do Jenkins de melhores práticas, que também inclui detalhes sobre o dimensionamento do mestre do Jenkins.For more information about scaling the Jenkins master, refer to the Jenkins community of best practices, which also includes details about scaling Jenkins master.

Considerações de disponibilidadeAvailability considerations

A disponibilidade no contexto de um servidor do Jenkins significa que pode recuperar quaisquer informações de estado associadas ao seu fluxo de trabalho, como resultados de testes, bibliotecas criadas ou outros artefactos.Availability in the context of a Jenkins server means being able to recover any state information associated with your workflow, such as test results, libraries you have created, or other artifacts. O estado do fluxo de trabalho ou artefactos críticos devem ser mantidos para recuperar o fluxo de trabalho, no caso de o servidor do Jenkins ficar inativo.Critical workflow state or artifacts must be maintained to recover the workflow if the Jenkins server goes down. Para avaliar os requisitos de disponibilidade, considere duas métricas comuns:To assess your availability requirements, consider two common metrics:

  • O Objetivo de Tempo de Recuperação (RTO) especifica quanto tempo pode ficar sem o Jenkins.Recovery Time Objective (RTO) specifies how long you can go without Jenkins.

  • O Objetivo de Ponto de Recuperação (RPO) indica a quantidade de dados que pode perder se o Jenkins for afetado por uma interrupção de serviço.Recovery Point Objective (RPO) indicates how much data you can afford to lose if a disruption in service affects Jenkins.

Na prática, o RTO e RPO implicam a redundância e a cópia de segurança.In practice, RTO and RPO imply redundancy and backup. A disponibilidade não é uma questão de recuperação do hardware (isso faz parte do Azure), mas uma questão de garantir que consegue manter o estado do seu servidor Jenkins.Availability is not a question of hardware recovery—that is part of Azure—but rather ensuring you maintain the state of your Jenkins server. A Microsoft oferece um contrato de nível de serviço (SLA) para instâncias de VM individuais.Microsoft offers a service level agreement (SLA) for single VM instances. Se este SLA não cumprir os seus requisitos de tempo de atividade, certifique-se de que tem um plano de recuperação após desastre ou considere utilizar uma implementação de servidor Jenkins com vários mestres (não abrangido neste documento).If this SLA doesn't meet your uptime requirements, make sure you have a plan for disaster recovery, or consider using a multi-master Jenkins server deployment (not covered in this document).

Considere utilizar os scripts de recuperação após desastre no passo 7 da implementação para criar uma conta de Armazenamento do Azure com discos geridos para armazenar o estado do servidor Jenkins.Consider using the disaster recovery scripts in step 7 of the deployment to create an Azure Storage account with managed disks to store the Jenkins server state. Se o Jenkins ficar indisponível, pode restaurá-lo no estado armazenado nesta conta de armazenamento separada.If Jenkins goes down, it can be restored to the state stored in this separate storage account.

Considerações de segurançaSecurity considerations

Utilize as seguintes abordagens para reforçar a segurança num servidor Jenkins básico, porque no estado básico, este não está protegido.Use the following approaches to help lock down security on a basic Jenkins server, since in its basic state, it is not secure.

  • Configure uma forma segura de iniciar a sessão no servidor do Jenkins.Set up a secure way to log into the Jenkins server. Esta arquitetura utiliza HTTP e tem um IP público, mas o HTTP não está protegido por predefinição.This architecture uses HTTP and has a public IP, but HTTP is not secure by default. Considere configurar o HTTPS no servidor Nginx que está a ser utilizado para um início de sessão seguro.Consider setting up HTTPS on the Nginx server being used for a secure logon.

    Nota

    Ao adicionar o SSL ao seu servidor, crie uma regra NSG para a sub-rede do Jenkins para abrir a porta 443.When adding SSL to your server, create an NSG rule for the Jenkins subnet to open port 443. Para obter mais informações, veja How to open ports to a virtual machine with the Azure portal (Como abrir portas para uma máquina virtual com o portal do Azure).For more information, see How to open ports to a virtual machine with the Azure portal.

  • Certifique-se de que a configuração do Jenkins impede a falsificação de pedidos entre sites (Manage Jenkins [Gerir o Jenkins] > Configure Global Security [Configurar a Segurança Global]).Ensure that the Jenkins configuration prevents cross site request forgery (Manage Jenkins > Configure Global Security). Esta é a predefinição do Microsoft Jenkins Server.This is the default for Microsoft Jenkins Server.

  • Configure o acesso só de leitura ao dashboard do Jenkins com o Matrix Authorization Strategy Plugin.Configure read-only access to the Jenkins dashboard by using the Matrix Authorization Strategy Plugin.

  • Instale o plug-in das Credenciais do Azure para utilizar o Key Vault para processar segredos dos recursos do Azure, os agentes no pipeline e os componentes de terceiros.Install the Azure Credentials plugin to use Key Vault to handle secrets for the Azure assets, the agents in the pipeline, and third-party components.

  • Utilize o RBAC para restringir o acesso do principal de serviço ao mínimo necessário para poder executar as tarefas.Use RBAC to restrict the access of the service principal to the minimum required to run the jobs. Isto ajuda a limitar o âmbito dos danos de uma tarefa não autorizada.This helps limit the scope of damage from a rogue job.

Muitas vezes, as tarefas do Jenkins precisam de segredos para aceder a serviços do Azure que necessitem de autorização, como o Azure Container Service.Jenkins jobs often require secrets to access Azure services that require authorization, such as Azure Container Service. Utilize o Key Vault juntamente com o plug-in das Credenciais do Azure para gerir estes segredos de forma segura.Use Key Vault along with the Azure Credential plugin to manage these secrets securely. Utilize o Key Vault para armazenar credenciais de principal de serviço, palavras-passe, tokens e outros segredos.Use Key Vault to store service principal credentials, passwords, tokens, and other secrets.

Para obter uma visão central do estado de segurança dos seus recursos do Azure, utilize o Centro de Segurança do Azure.To get a central view of the security state of your Azure resources, use Azure Security Center. O Centro de Segurança monitoriza potenciais problemas de segurança e fornece uma visão global do estado de funcionamento da segurança da sua implementação.Security Center monitors potential security issues and provides a comprehensive picture of the security health of your deployment. O Centro de Segurança está configurado por subscrição do Azure.Security Center is configured per Azure subscription. Ative a recolha de dados de segurança, conforme descrito no Azure Security Center quick start guide (Guia de início rápido do Centro de Segurança do Azure).Enable security data collection as described in the Azure Security Center quick start guide. Quando a recolha de dados está ativada, o Centro de Segurança analisa automaticamente todas as máquinas virtuais criadas nessa subscrição.When data collection is enabled, Security Center automatically scans any virtual machines created under that subscription.

O servidor Jenkins tem o seu próprio sistema de gestão de utilizadores e a comunidade do Jenkins indica quais as melhores práticas para proteger uma instância do Jenkins no Azure.The Jenkins server has its own user management system, and the Jenkins community provides best practices for securing a Jenkins instance on Azure. O modelo de solução do Jenkins no Azure implementa estas melhores práticas.The solution template for Jenkins on Azure implements these best practices.

Considerações sobre a capacidade de gestãoManageability considerations

Utilize grupos de recursos para organizar os recursos do Azure que são implementados.Use resource groups to organize the Azure resources that are deployed. Implemente ambientes de produção e ambientes de desenvolvimento/teste em grupos de recursos separados, para que possa monitorizar os recursos de cada ambiente e agregar os custos de faturação por grupo de recursos.Deploy production environments and development/test environments in separate resource groups, so that you can monitor each environment’s resources and roll up billing costs by resource group. Também pode eliminar recursos como um conjunto, o que é muito útil para implementações de teste.You can also delete resources as a set, which is very useful for test deployments.

O Azure fornece várias funcionalidades de monitorização e diagnóstico da infraestrutura global.Azure provides several features for monitoring and diagnostics of the overall infrastructure. Para monitorizar a utilização da CPU, esta arquitetura implementa o Azure Monitor.To monitor CPU usage, this architecture deploys Azure Monitor. Por exemplo, pode utilizar o Azure Monitor para monitorizar a utilização da CPU e para enviar uma notificação se a utilização da CPU exceder os 80 por cento.For example, you can use Azure Monitor to monitor CPU utilization, and send a notification if CPU usage exceeds 80 percent. (Uma utilização elevada da CPU indica que poderá querer aumentar verticalmente a VM do servidor Jenkins.) Também pode notificar um utilizador designado se a VM falhar ou ficar indisponível.(High CPU usage indicates that you might want to scale up the Jenkins server VM.) You can also notify a designated user if the VM fails or becomes unavailable.

ComunidadesCommunities

As comunidades podem responder às suas perguntas e ajudá-lo a configurar uma implementação com êxito.Communities can answer questions and help you set up a successful deployment. Considere o seguinte:Consider the following:

Para obter mais melhores práticas da comunidade do Jenkins, visite Jenkins best practices (Melhores práticas do Jenkins).For more best practices from the Jenkins community, visit Jenkins best practices.

Implementar a soluçãoDeploy the solution

Para implementar esta arquitetura, siga os passos abaixo para instalar o modelo de solução do Jenkins no Azure e, em seguida, instale os scripts que configuram a monitorização e a recuperação após desastre nos passos abaixo.To deploy this architecture, follow the steps below to install the solution template for Jenkins on Azure, then install the scripts that set up monitoring and disaster recovery in the steps below.

Pré-requisitosPrerequisites

  • Esta arquitetura de referência requer uma subscrição do Azure.This reference architecture requires an Azure subscription.
  • Para criar um principal de serviço do Azure, tem de ter direitos de administrador sobre o inquilino do Azure AD que está associado ao servidor Jenkins implementado.To create an Azure service principal, you must have admin rights to the Azure AD tenant that is associated with the deployed Jenkins server.
  • Estas instruções pressupõem que o administrador do Jenkins também é um utilizador do Azure com, pelo menos, privilégios de Contribuidor.These instructions assume that the Jenkins administrator is also an Azure user with at least Contributor privileges.

Passo 1: Implementar o servidor JenkinsStep 1: Deploy the Jenkins server

  1. Abra a imagem do Azure Marketplace do Jenkins no seu browser e selecione OBTER AGORA no lado esquerdo da página.Open the Azure Marketplace image for Jenkins in your web browser and select GET IT NOW from the left side of the page.

  2. Consulte os detalhes de preços e selecione Continuar, em seguida selecione Criar para configurar o servidor do Jenkins no portal do Azure.Review the pricing details and select Continue, then select Create to configure the Jenkins server in the Azure portal.

Para obter instruções detalhadas, veja Create a Jenkins server on an Azure Linux VM from the Azure portal (Criar um servidor Jenkins numa VM do Linux do Azure a partir do portal do Azure).For detailed instructions, see Create a Jenkins server on an Azure Linux VM from the Azure portal. Para esta arquitetura de referência, é suficiente pôr o servidor em funcionamento com o início de sessão de administrador.For this reference architecture, it is sufficient to get the server up and running with the admin logon. Em seguida, pode aprovisioná-lo para poder utilizar vários outros serviços.Then you can provision it to use various other services.

Passo 2: Configurar o SSOStep 2: Set up SSO

Este passo é executado pelo administrador do Jenkins, que também tem de ter uma conta de utilizador no diretório do Azure AD da subscrição, além de que tem de lhe ter sido atribuído a função de Contribuidor.The step is run by the Jenkins administrator, who must also have a user account in the subscription’s Azure AD directory and must be assigned the Contributor role.

Utilize o Plug-in do Azure AD a partir do Jenkins Update Center (Centro de Atualizações do Jenkins) no servidor Jenkins e siga as instruções para configurar o SSO.Use the Azure AD Plugin from the Jenkins Update Center in the Jenkins server and follow the instructions to set up SSO.

Passo 3: Aprovisionar o servidor Jenkins com o plug-in do Agente de VM do AzureStep 3: Provision Jenkins server with Azure VM Agent plugin

Este passo é executado pelo administrador do Jenkins para configurar o plug-in do Agente de VM do Azure, que já está instalado.The step is run by the Jenkins administrator to set up the Azure VM Agent plugin, which is already installed.

Siga estes passos para configurar o plug-in.Follow these steps to configure the plugin. Para obter um tutorial sobre como configurar principais de serviço para o plug-in, veja Scale your Jenkins deployments to meet demand with Azure VM agents (Dimensionar as implementações do Jenkins para satisfazer a procura com agentes de VM do Azure).For a tutorial about setting up service principals for the plugin, see Scale your Jenkins deployments to meet demand with Azure VM agents.

Passo 4: Aprovisionar o servidor Jenkins com o Armazenamento do AzureStep 4: Provision Jenkins server with Azure Storage

Este passo é executado pelo administrador do Jenkins, o qual configura o Plug-in do Armazenamento do Azure para o Windows, que já está instalado.The step is run by the Jenkins administrator, who sets up the Windows Azure Storage Plugin, which is already installed.

Siga estes passos para configurar o plug-in.Follow these steps to configure the plugin.

Passo 5: Aprovisionar o servidor Jenkins com o plug-in das Credenciais do AzureStep 5: Provision Jenkins server with Azure Credential plugin

Este passo é executado pelo administrador do Jenkins para configurar o plug-in das Credenciais do Azure, que já está instalado.The step is run by the Jenkins administrator to set up the Azure Credential plugin, which is already installed.

Siga estes passos para configurar o plug-in.Follow these steps to configure the plugin.

Passo 6: Aprovisionar o servidor Jenkins para monitorização pelo Serviço do Azure MonitorStep 6: Provision Jenkins server for monitoring by the Azure Monitor Service

Para configurar a monitorização para o servidor Jenkins, siga as instruções em Create metric alerts in Azure Monitor for Azure services (Criar alertas de métricas no Azure Monitor para os serviços do Azure).To set up monitoring for your Jenkins server, follow the instructions in Create metric alerts in Azure Monitor for Azure services.

Passo 7: Aprovisionar o servidor Jenkins com o Managed Disks para recuperação após desastreStep 7: Provision Jenkins server with Managed Disks for disaster recovery

O grupo de produtos Microsoft Jenkins criou scripts de recuperação após desastre que criam um disco gerido utilizado para guardar o estado do Jenkins.The Microsoft Jenkins product group has created disaster recovery scripts that build a managed disk used to save the Jenkins state. Se o servidor ficar indisponível, pode restaurá-lo para o estado mais recente.If the server goes down, it can be restored to its latest state.

Transfira e execute os scripts de recuperação após desastre a partir do GitHub.Download and run the disaster recovery scripts from GitHub.

Pode ser útil rever o seguinte cenário de exemplo do Azure que demonstra soluções específicas que utilizam algumas das mesmas tecnologias:You may wish to review the following Azure example scenario that demonstrates specific solutions using some of the same technologies: