Exercício – Configurar o seu ambiente
Importante
Precisa da sua própria subscrição do Azure para executar este exercício e poderá incorrer em custos. Se ainda não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Antes de começar a publicar o código Bicep reutilizável da sua empresa de brinquedos, você precisa configurar seu ambiente. Nesta seção, você garante que seus ambientes do Azure e do GitHub estejam configurados para concluir o restante deste módulo.
Para atingir esses objetivos, você:
- Configure um repositório GitHub para este módulo.
- Clone o repositório para o seu computador.
- Crie um grupo de recursos no Azure.
- Crie um segredo no GitHub.
Obtenha o repositório GitHub
Aqui, você cria um novo repositório GitHub com base em um repositório de modelos. O repositório de modelos contém os arquivos que você precisa para começar este módulo.
Os módulos deste percurso de aprendizagem fazem parte de uma progressão. Para fins de aprendizagem, cada módulo tem um repositório de modelos GitHub associado.
Gorjeta
Mesmo que tenha concluído o módulo anterior no caminho de aprendizagem, siga estas instruções para criar um novo repositório e garantir que lhe dá um novo nome.
Iniciar a partir do repositório de modelos
Execute um modelo que configure seu repositório GitHub.
No site do GitHub, siga estas etapas para criar um repositório a partir do modelo:
Iniciar sessão no GitHub.
Selecione Usar este modelo>Criar um novo repositório.
Em Proprietário, selecione sua conta do GitHub.
Insira um nome de repositório para seu novo projeto, como brinquedo reutilizável.
Selecione a opção Público .
Ao criar seus próprios repositórios, convém torná-los privados. Neste módulo, você usará recursos do GitHub que funcionam apenas em conjunto com repositórios públicos e contas do GitHub Enterprise.
Selecione Create repository (Criar repositório).
Importante
O exercício final deste módulo contém etapas de limpeza importantes. Certifique-se de seguir as etapas de limpeza, mesmo que não conclua este módulo.
Clonar o repositório
Agora que você tem uma cópia do repositório de modelos em sua própria conta, você clonará esse repositório localmente para poder começar a trabalhar nele.
Selecione Código e, em seguida, selecione o ícone Copiar url para a área de transferência.
Abra o Visual Studio Code.
Abra uma janela de terminal do Visual Studio Code selecionando Terminal>New Terminal. A janela geralmente abre na parte inferior da tela.
No terminal, vá para o diretório no qual você deseja clonar o repositório GitHub em seu computador local. Por exemplo, para clonar o repositório dentro da pasta de repositórios , execute o seguinte comando:
cd repositories
Digite
git clone
e cole o URL copiado anteriormente, que se parece com isto:git clone https://github.com/mygithubuser/toy-reusable.git
Reabra o Visual Studio Code na pasta do repositório executando o seguinte comando no terminal do Visual Studio Code:
code --reuse-window toy-reusable
Iniciar sessão no Azure
Para trabalhar com grupos de recursos no Azure, inicie sessão na sua conta do Azure a partir do terminal do Visual Studio Code. Certifique-se de que instalou as ferramentas da CLI do Azure e a extensão da Conta do Azure para o Visual Studio Code.
No menu Terminal, selecione Novo Terminal. A janela do terminal geralmente abre na metade inferior da tela.
O shell padrão é normalmente pwsh, como mostrado no lado direito da janela do terminal.
Selecione a lista suspensa Iniciar perfil e, em seguida, selecione Azure Cloud Shell (Bash).
Um novo shell se abre.
Entrar no Azure usando a CLI do Azure
No terminal do Visual Studio Code, execute o seguinte comando para entrar no Azure:
az login
No browser que se abre, inicie sessão na sua conta do Azure.
Para trabalhar com grupos de recursos no Azure, inicie sessão na sua conta do Azure a partir do terminal do Visual Studio Code. Certifique-se de que instalou o Azure PowerShell e a extensão de Conta do Azure para Visual Studio Code.
No menu Terminal, selecione Novo Terminal. A janela do terminal geralmente abre na metade inferior da tela.
O shell padrão é normalmente pwsh, como mostrado no lado direito da janela do terminal.
Selecione a lista suspensa Iniciar perfil e, em seguida, selecione Azure Cloud Shell (PowerShell).
Um novo shell se abre.
Iniciar sessão no Azure com o Azure PowerShell
No terminal do Visual Studio Code, execute o seguinte comando para entrar no Azure:
Connect-AzAccount -UseDeviceAuthentication
Siga as instruções de comando para entrar na sua conta do Azure.
Criar uma identidade de carga de trabalho
Em seguida, crie uma identidade de carga de trabalho no Microsoft Entra ID para seu fluxo de trabalho de implantação.
Para criar as identidades de carga de trabalho, os comandos da CLI do Azure usam jq
para analisar dados da saída JSON. Se você não tiver jq
instalado, poderá usar o Bash no Azure Cloud Shell para criar a identidade da carga de trabalho, o grupo de recursos e a atribuição de função e preparar os segredos do GitHub.
Execute o código a seguir para definir variáveis para seu nome de usuário do GitHub e seu nome de repositório. Certifique-se de substituir
mygithubuser
pelo seu nome de usuário do GitHub, que você anotou anteriormente neste exercício. Além disso, certifique-se de especificar o nome correto do repositório GitHub.githubOrganizationName='mygithubuser' githubRepositoryName='toy-reusable'
Crie uma identidade de carga de trabalho para seu fluxo de trabalho de implantações.
applicationRegistrationDetails=$(az ad app create --display-name 'toy-reusable') applicationRegistrationObjectId=$(echo $applicationRegistrationDetails | jq -r '.id') applicationRegistrationAppId=$(echo $applicationRegistrationDetails | jq -r '.appId') az ad app federated-credential create \ --id $applicationRegistrationObjectId \ --parameters "{\"name\":\"toy-reusable-branch\",\"issuer\":\"https://token.actions.githubusercontent.com\",\"subject\":\"repo:${githubOrganizationName}/${githubRepositoryName}:ref:refs/heads/main\",\"audiences\":[\"api://AzureADTokenExchange\"]}"
Execute o código a seguir para definir variáveis para seu nome de usuário do GitHub e seu nome de repositório. Certifique-se de substituir
mygithubuser
pelo seu nome de usuário do GitHub, que você observou anteriormente neste exercício. Além disso, certifique-se de especificar o nome correto do repositório GitHub.$githubOrganizationName = 'mygithubuser' $githubRepositoryName = 'toy-reusable'
Crie uma identidade de carga de trabalho para seu fluxo de trabalho de implantações.
$applicationRegistration = New-AzADApplication -DisplayName 'toy-reusable' New-AzADAppFederatedCredential ` -Name 'toy-reusable-branch' ` -ApplicationObjectId $applicationRegistration.Id ` -Issuer 'https://token.actions.githubusercontent.com' ` -Audience 'api://AzureADTokenExchange' ` -Subject "repo:$($githubOrganizationName)/$($githubRepositoryName):ref:refs/heads/main"
Criar um grupo de recursos no Azure e conceder acesso à identidade da carga de trabalho
Em seguida, crie um grupo de recursos para seu site. Esse processo também concede à identidade da carga de trabalho a função de Colaborador no grupo de recursos, o que permite que seu fluxo de trabalho seja implantado no grupo de recursos.
Execute os seguintes comandos da CLI do Azure no terminal do Visual Studio Code:
resourceGroupResourceId=$(az group create --name ToyReusable --location westus3 --query id --output tsv)
az ad sp create --id $applicationRegistrationObjectId
az role assignment create \
--assignee $applicationRegistrationAppId \
--role Contributor \
--scope $resourceGroupResourceId
Execute os seguintes comandos do Azure PowerShell no terminal do Visual Studio Code:
$resourceGroup = New-AzResourceGroup -Name ToyReusable -Location westus3
New-AzADServicePrincipal -AppId $applicationRegistration.AppId
New-AzRoleAssignment `
-ApplicationId $applicationRegistration.AppId `
-RoleDefinitionName Contributor `
-Scope $resourceGroup.ResourceId
Preparar segredos do GitHub
Execute o código a seguir para mostrar os valores que você precisa criar como segredos do GitHub:
echo "AZURE_CLIENT_ID: $applicationRegistrationAppId"
echo "AZURE_TENANT_ID: $(az account show --query tenantId --output tsv)"
echo "AZURE_SUBSCRIPTION_ID: $(az account show --query id --output tsv)"
$azureContext = Get-AzContext
Write-Host "AZURE_CLIENT_ID: $($applicationRegistration.AppId)"
Write-Host "AZURE_TENANT_ID: $($azureContext.Tenant.Id)"
Write-Host "AZURE_SUBSCRIPTION_ID: $($azureContext.Subscription.Id)"
Anote o valor da ID do aplicativo para o AZURE_CLIENT_ID. Você pode usar esse valor ao limpar recursos quando terminar este módulo.
Criar segredos do GitHub
Você criou uma identidade de carga de trabalho e um grupo de recursos no qual ela pode ser implantada. Em seguida, crie segredos nas Ações do GitHub.
No seu navegador, vá para o repositório GitHub.
Selecione Configurações>Segredos e variáveis>Ações.
Selecione Novo segredo do repositório.
Nomeie o segredo AZURE_CLIENT_ID.
No campo Valor, cole o GUID da primeira linha da saída do terminal. Não inclua
AZURE_CLIENT_ID
, os dois pontos ou quaisquer espaços no valor.Selecione Add secret (Adicionar segredo).
Repita o processo para criar os segredos para AZURE_TENANT_ID e AZURE_SUBSCRIPTION_ID, copiando os valores dos campos correspondentes na saída do terminal.
Verifique se a sua lista de segredos agora mostra os três segredos.