Exercice : Configurer votre environnement
Important
Vous avez besoin de votre propre abonnement Azure pour exécuter cet exercice et des frais pourraient vous être facturés. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Avant de commencer à publier le code Bicep réutilisable de votre entreprise de jouets, vous devez configurer votre environnement. Dans cette section, vous vérifiez que vos environnements Azure et GitHub sont configurés pour les étapes restantes de ce module.
Pour atteindre ces objectifs, vous allez :
- Configurer un dépôt GitHub pour ce module.
- Cloner le dépôt sur votre ordinateur.
- Créer un groupe de ressources dans Azure.
- Créer un secret dans GitHub.
Accéder au dépôt GitHub
Ici, vous créez un dépôt GitHub basé sur un dépôt de modèles. Le référentiel de modèles contient les fichiers dont vous avez besoin pour commencer à utiliser ce module.
Les modules de ce parcours d’apprentissage font partie d’une progression. Pour les besoins de l’apprentissage, chaque module est associé à un dépôt de modèles GitHub.
Conseil
Même si vous avez terminé le module précédent du parcours d’apprentissage, suivez ces instructions pour créer un dépôt avec un nouveau nom.
Démarrer à partir du dépôt de modèles
Exécutez un modèle qui configure votre dépôt GitHub.
Sur le site GitHub, effectuez les étapes suivantes pour créer un dépôt à partir du modèle :
Connectez-vous à GitHub.
Sélectionnez Utiliser ce modèle>Créer un dépôt.
Pour Propriétaire, sélectionnez votre compte GitHub.
Entrez un Nom de dépôt pour votre nouveau projet, par exemple toy-reusable.
Sélectionnez l’option Public.
Si vous créez vos propres dépôts, vous souhaiterez peut-être les rendre privés. Dans ce module, vous utiliserez les fonctionnalités de GitHub qui fonctionnent uniquement avec les référentiels publics et les comptes GitHub Enterprise.
Cliquez sur Create repository (Créer le dépôt).
Important
L’exercice final de ce module contient des étapes de nettoyage importantes. Veillez à suivre les étapes de nettoyage même si vous n’allez pas au bout de ce module.
Cloner le référentiel
Maintenant que vous disposez d’une copie du dépôt de modèles dans votre propre compte, vous clonez ce dépôt localement pour pouvoir commencer à travailler dessus.
Sélectionnez Code, puis l’icône Copier l’URL dans le presse-papiers.
Ouvrez Visual Studio Code.
Ouvrez une fenêtre de terminal Visual Studio Code en sélectionnant Terminal>Nouveau terminal. Elle s’ouvre généralement en bas de l’écran.
Dans le terminal, accédez au répertoire dans lequel vous souhaitez cloner le référentiel GitHub sur votre ordinateur local. Par exemple, pour cloner le référentiel dans le dossier référentiels, exécutez la commande suivante :
cd repositories
Tapez
git clone
, puis collez l’URL que vous avez copiée précédemment et qui ressemble à ceci :git clone https://github.com/mygithubuser/toy-reusable.git
Rouvrez Visual Studio Code dans le dossier du dépôt en exécutant la commande suivante à partir du terminal Visual Studio Code :
code --reuse-window toy-reusable
Connexion à Azure
Pour utiliser des groupes de ressources dans Azure, connectez-vous à votre compte Azure à partir du terminal Visual Studio Code. Vérifiez que vous avez installé les outils Azure CLI et l’extension de compte Azure pour Visual Studio Code.
Dans le menu Terminal, sélectionnez Nouveau terminal. La fenêtre de terminal s’ouvre généralement dans la moitié inférieure de votre écran.
L’interpréteur de commandes par défaut est généralement pwsh, comme indiqué sur le côté droit de la fenêtre de terminal.
Sélectionnez la liste déroulante Lancer le profil, puis sélectionnez Azure Cloud Shell (Bash).
Un nouvel interpréteur de commandes s’ouvre.
Connexion à Azure avec l’interface Azure CLI
Dans le terminal Visual Studio Code, exécutez la commande suivante pour vous connecter à Azure :
az login
Dans le navigateur qui s’ouvre, connectez-vous à votre compte Azure.
Pour utiliser des groupes de ressources dans Azure, connectez-vous à votre compte Azure à partir du terminal Visual Studio Code. Vérifiez que vous avez installé Azure PowerShell et l’extension de compte Azure pour Visual Studio Code.
Dans le menu Terminal, sélectionnez Nouveau terminal. La fenêtre de terminal s’ouvre généralement dans la moitié inférieure de votre écran.
L’interpréteur de commandes par défaut est généralement pwsh, comme indiqué sur le côté droit de la fenêtre de terminal.
Sélectionnez la liste déroulante Lancer le profil, puis sélectionnez Azure Cloud Shell (PowerShell).
Un nouvel interpréteur de commandes s’ouvre.
Connectez-vous à Azure en utilisant Azure PowerShell
Dans le terminal Visual Studio Code, exécutez la commande suivante pour vous connecter à Azure :
Connect-AzAccount -UseDeviceAuthentication
Suivez les instructions de la commande pour vous connecter à votre compte Azure.
Créer une identité de charge de travail
Créez ensuite une identité de charge de travail dans Microsoft Entra ID pour votre workflow de déploiement.
Pour créer les identités de charge de travail, les commandes Azure CLI utilisent jq
pour analyser les données de la sortie JSON. Si vous n’avez pas jq
installé, vous pouvez utiliser Bash dans Azure Cloud Shell pour créer l’identité de charge de travail, le groupe de ressources et l’attribution de rôle, et préparer les secrets GitHub.
Exécutez le code suivant pour définir des variables pour votre nom d’utilisateur GitHub et votre nom de dépôt. Vérifiez que vous remplacez
mygithubuser
par votre nom d’utilisateur GitHub, que vous avez noté précédemment dans cet exercice. Vérifiez également que vous spécifiez le nom correct du référentiel GitHub.githubOrganizationName='mygithubuser' githubRepositoryName='toy-reusable'
Créez une identité de charge de travail pour votre workflow de déploiements.
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\"]}"
Exécutez le code suivant pour définir des variables pour votre nom d’utilisateur GitHub et votre nom de dépôt. Vérifiez que vous remplacez
mygithubuser
par votre nom d’utilisateur GitHub, que vous avez noté plus tôt dans cet exercice. Vérifiez également que vous spécifiez le nom correct du référentiel GitHub.$githubOrganizationName = 'mygithubuser' $githubRepositoryName = 'toy-reusable'
Créez une identité de charge de travail pour votre workflow de déploiements.
$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"
Créer un groupe de ressources dans Azure et accorder l’accès à l’identité de charge de travail
Créez ensuite un groupe de ressources pour votre site web. Ce processus accorde également le rôle Contributeur sur le groupe de ressources à l’identité de charge de travail, ce qui permet à votre workflow d’effectuer des déploiements sur le groupe de ressources.
Dans le terminal Visual Studio Code, exécutez les commandes Azure CLI suivantes :
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
Dans le terminal Visual Studio Code, exécutez les commandes Azure PowerShell suivantes :
$resourceGroup = New-AzResourceGroup -Name ToyReusable -Location westus3
New-AzADServicePrincipal -AppId $applicationRegistration.AppId
New-AzRoleAssignment `
-ApplicationId $applicationRegistration.AppId `
-RoleDefinitionName Contributor `
-Scope $resourceGroup.ResourceId
Préparer les secrets GitHub
Exécutez le code suivant pour afficher les valeurs que vous devez créer en tant que secrets 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)"
Notez la valeur de votre ID d’application pour le AZURE_CLIENT_ID. Vous pouvez utiliser cette valeur lorsque vous nettoyez des ressources une fois ce module terminé.
Créer des secrets GitHub
Vous avez créé une identité de charge de travail et un groupe de ressources vers lequel effectuer des déploiements. Créez ensuite un secret dans GitHub Actions.
Dans votre navigateur, accédez à votre dépôt GitHub.
Sélectionnez Paramètres>Secrets et variables>Actions.
Sélectionnez New repository secret (Nouveau secret de dépôt).
Nommez le secret AZURE_CLIENT_ID.
Dans le champ Valeur, collez le GUID à partir de la première ligne de la sortie du terminal. N’incluez pas
AZURE_CLIENT_ID
, les deux-points ni aucun espace dans la valeur.Sélectionnez Ajouter un secret.
Répétez le processus pour créer les secrets pour AZURE_TENANT_ID et AZURE_SUBSCRIPTION_ID, en copiant les valeurs des champs correspondants dans la sortie du terminal.
Vérifiez que votre liste de secrets affiche désormais les trois secrets.