Lägga till och konfigurera en katalog från GitHub eller Azure Repos
Den här artikeln beskriver hur du lägger till och konfigurerar en katalog för ditt Utvecklingscenter eller projekt för Azure Deployment Environments.
Kataloger hjälper dig att tillhandahålla en uppsättning utvalda IaC-mallar (infrastruktur som kod), så kallade miljödefinitioner för dina utvecklingsteam för att skapa miljöer. Du kan bifoga din egen källkontrolllagringsplats från GitHub eller Azure DevOps som en katalog och ange mappen med dina miljödefinitioner. Distributionsmiljöer söker igenom mappen efter miljödefinitioner och gör dem tillgängliga för utvecklingsteam för att skapa miljöer.
För att ytterligare skydda dina mallar krypteras katalogen. Azure Deployment Environments stöder kryptering i vila med plattformshanterade krypteringsnycklar som Hanteras av Microsoft för Azure Services.
- Information om hur du är värd för en lagringsplats i GitHub finns i Kom igång med GitHub.
- Mer information om hur du är värd för en Git-lagringsplats i ett Azure Repos-projekt finns i Azure Repos.
Microsoft erbjuder en snabbstartskatalog som du kan lägga till i utvecklingscentret eller projektet och en exempelkatalog som du kan använda som lagringsplats. Du kan också använda din egen privata lagringsplats, eller så kan du förgrena och anpassa miljödefinitionerna i exempelkatalogen.
I den här artikeln kan du se hur du:
- Konfigurera kataloger på projektnivå
- Konfigurera en hanterad identitet
- Lägga till en katalog från Azure Repos eller GitHub
- Uppdatera en katalog
- Ta bort en katalog
- Felsöka katalogsynkroniseringsfel
Konfigurera kataloger på projektnivå
Genom att koppla kataloger på projektnivå kan plattformstekniker tillhandahålla utvalda miljödefinitioner som är specifika för utvecklingsteamen. Dessutom kan utvecklingsteamets leads tilldelas som projektadministratörer för att hantera de miljödefinitioner som görs tillgängliga för deras team.
Plattformstekniker har fullständig kontroll över användningen av kataloger på projektnivå. Användning av kataloger på projektnivå måste aktiveras på utvecklingscenternivå innan en katalog kan läggas till i ett projekt. Plattformstekniker kan också konfigurera vilka typer av katalogobjekt, till exempel miljödefinitioner, som kan användas på projektnivå.
Som standard är användningen av kataloger på projektnivå inaktiverad och ingen av katalogobjekttyperna är aktiverade. Miljödefinitioner från en katalog på projektnivå synkroniseras och kan användas under två villkor. Först måste du aktivera projektbaserade kataloger på motsvarande utvecklingscenternivå. För det andra måste du aktivera användningen av miljödefinitioner för projektet.
Lägga till en katalog i ett projekt
Du måste aktivera kataloger på projektnivå på utvecklingscenternivå innan du kan lägga till en katalog i ett projekt. Du bör också aktivera användning av miljödefinitioner på projektnivå.
Så här aktiverar du användning av kataloger på projektnivå på utvecklingscenternivå:
Gå till utvecklingscentret i Azure-portalen.
I den vänstra menyn går du till Inställningar och väljer Konfiguration.
I fönstret Kataloger på projektnivå väljer du Aktivera kataloger per projekt och sedan Använd.
Så här aktiverar du användning av miljödefinitioner i projektet:
Gå till ditt projekt i Azure-portalen.
I den vänstra menyn går du till Inställningar och väljer Kataloger.
På sidan Kataloger väljer du Katalogobjektbehörigheter.
I fönstret Inställningar för katalogobjekt väljer du Azure-distributionsmiljödefinitioner för att aktivera användning av miljödefinitioner på projektnivå.
Nu kan du lägga till en katalog i projektet.
För kataloger som använder en hanterad identitet eller personlig åtkomsttoken (PAT) för autentisering måste du tilldela en hanterad identitet för projektet. För kataloger som använder en PAT måste du lagra PAT i ett nyckelvalv och ge den hanterade identiteten åtkomst till nyckelvalvshemligheten.
Konfigurera en hanterad identitet
Innan du kan koppla en katalog till ett utvecklingscenter eller projekt måste du konfigurera en hanterad identitet, även kallad en hanterad tjänstidentitet (MSI). Du kan koppla antingen en systemtilldelad hanterad identitet (systemtilldelad MSI) eller en användartilldelad hanterad identitet (användartilldelad MSI). Sedan tilldelar du roller till den hanterade identiteten så att utvecklingscentret eller projektet kan skapa miljötyper i din prenumeration och läsa Azure Repos-projektet som innehåller kataloglagringsplatsen.
Om ditt utvecklingscenter eller projekt inte har någon MSI bifogad följer du stegen i Konfigurera en hanterad identitet för att skapa en och tilldela roller för den hanterade identiteten.
Mer information om hanterade identiteter finns i Vad är hanterade identiteter för Azure-resurser?
Lägga till en katalog
Du kan lägga till en katalog från en Azure Repos-lagringsplats eller en GitHub-lagringsplats. Du kan välja att autentisera genom att tilldela behörigheter till en MSI eller med hjälp av en PAT som du lagrar i ett nyckelvalv.
Välj fliken för den typ av lagringsplats och autentisering som du vill använda.
- Lagringsplats för Azure-lagringsplatser med MSI
- Lagringsplats för Azure-lagringsplatser med PAT
- DevCenter-app för GitHub-lagringsplats
- GitHub-lagringsplats med PAT
Utför följande uppgifter för att lägga till en katalog:
- Tilldela behörigheter i Azure Repos för den hanterade identiteten.
- Lägg till din lagringsplats som en katalog.
Tilldela behörigheter i Azure Repos för den hanterade identiteten
Du måste ge den hanterade identiteten behörighet till lagringsplatsen i Azure Repos.
Logga in på din Azure DevOps-organisation.
Kommentar
Din Azure DevOps-organisation måste finnas i samma katalog som Azure-prenumerationen som innehåller ditt utvecklingscenter eller projekt.
Välj Organisationsinställningar.
På sidan Översikt väljer du Användare.
På sidan Användare väljer du Lägg till användare.
Slutför Lägg till nya användare genom att ange eller välja följande information och välj sedan Lägg till:
Name Värde Användare eller tjänstens huvudnamn Ange namnet på ditt utvecklingscenter eller projekt.
När du använder en systemtilldelad MSI anger du namnet på utvecklingscentret eller projektet, inte objekt-ID:t för det hanterade kontot. När du använder en användartilldelad MSI använder du namnet på det hanterade kontot.Åtkomstnivå Välj Grundläggande. Lägg till i projekt Välj det projekt som innehåller lagringsplatsen. Azure DevOps-grupper Välj Projektläsare. Skicka e-post inbjudningar (endast till användare) Avmarkera kryssrutan.
Lägga till din lagringsplats som en katalog
Azure Deployment Environments stöder anslutning av Azure Repos-lagringsplatser och GitHub-lagringsplatser. Du kan lagra en uppsättning utvalda IaC-mallar på en lagringsplats. Genom att koppla lagringsplatsen till ett utvecklingscenter eller ett projekt som en katalog får utvecklingsteamen åtkomst till mallarna och gör det möjligt för dem att snabbt skapa konsekventa miljöer.
Med följande steg kan du bifoga en Azure Repos-lagringsplats.
I Azure-portalen navigerar du till ditt utvecklingscenter eller projekt.
I den vänstra menyn under Miljökonfiguration väljer du Kataloger och sedan Lägg till.
I Lägg till katalog anger du följande information och väljer sedan Lägg till:
Fält Värde Namn Ange ett namn för katalogen. Katalogplats Välj Azure DevOps. Autentiseringstyp Välj Hanterad identitet. Organisation Välj din Azure DevOps-organisation. Projekt I listan över projekt väljer du det projekt som lagrar lagringsplatsen. Repo I listan över lagringsplatser väljer du den lagringsplats som du vill lägga till. Gren Välj grenen. Mappsökväg Dev Box hämtar en lista över mappar i din gren. Välj den mapp som lagrar dina IaC-mallar. Kontrollera att katalogen visas i Kataloger för utvecklingscentret eller projektet. När anslutningen lyckas läser statusen Synkronisera lyckades. Det kan ta några minuter att ansluta till en katalog första gången.
Visa synkroniserade katalogobjekt
Oavsett vilken typ av lagringsplats du använder kan du visa katalogobjekten som synkroniseras från katalogen.
Välj Kataloger under Miljökonfiguration på den vänstra menyn för ditt utvecklingscenter eller projekt.
I fönstret Kataloger väljer du katalognamnet.
Du ser en lista över katalogobjekt som har synkroniserats.
Uppdatera en katalog
Om du uppdaterar definitionen eller mallinnehållet på den anslutna lagringsplatsen kan du ange den senaste uppsättningen miljödefinitioner till utvecklingsteamen genom att synkronisera katalogen. Du kan synkronisera en katalog manuellt eller automatiskt.
Synkronisera en katalog manuellt
När du synkroniserar en katalog manuellt genomsöker Distributionsmiljöer via lagringsplatsen och gör den senaste listan med miljödefinitioner tillgänglig för alla associerade projekt i utvecklingscentret.
På den vänstra menyn för utvecklingscentret går du till Miljökonfiguration och väljer Kataloger.
Välj den specifika katalogen och välj sedan Synkronisera i kommandofältet.
Synkronisera en katalog automatiskt
När du konfigurerar en katalog så att den synkroniseras automatiskt genomsöker Distributionsmiljöer via lagringsplatsen var 30:e minut och gör den senaste listan över miljödefinitioner tillgänglig för alla associerade projekt i utvecklingscentret.
Välj Kataloger under Miljökonfiguration på den vänstra menyn för ditt utvecklingscenter eller projekt.
Välj den specifika katalogen och välj sedan redigera.
I fönstret Redigera katalog väljer du Synkronisera katalogen automatiskt och väljer sedan Spara.
Ta bort en katalog
Du kan ta bort en katalog för att ta bort den från Utvecklingscentret eller projektet för Azure Deployment Environments. Mallar i en borttagen katalog är inte tillgängliga för utvecklingsteam när de distribuerar nya miljöer. Uppdatera referensen för miljödefinitionen för alla befintliga miljöer som har skapats med hjälp av miljödefinitionerna i den borttagna katalogen. Om referensen inte uppdateras och miljön distribueras igen misslyckas distributionen.
Så här tar du bort en katalog:
Välj Kataloger under Miljökonfiguration på den vänstra menyn för ditt utvecklingscenter eller projekt.
Välj den specifika katalogen och välj sedan Ta bort.
I dialogrutan Ta bort katalog väljer du Fortsätt för att ta bort katalogen.
Felsöka katalogsynkroniseringsfel
När du lägger till eller synkroniserar en katalog kan det uppstå ett synkroniseringsfel eller en varning. Ett synkroniseringsfel anger att en katalog inte kunde synkroniseras. En synkroniseringsvarning anger att vissa eller alla katalogobjekt har fel. Du kan visa synkroniseringsstatus och -fel i Azure-portalen eller använda Azure CLI och REST API för att felsöka och lösa felen.
Visa katalogsynkroniseringsstatus
I Azure-portalen kan du få mer information om katalogsynkroniseringsstatus och eventuella varningar eller fel genom att välja statuslänken. Statuslänken öppnar ett fönster som visar synkroniseringsstatus, antalet miljödefinitioner som har lagts till och antalet miljödefinitioner som ignorerades eller misslyckades.
Visa katalogsynkroniseringsfel
Välj Kataloger under Miljökonfiguration på den vänstra menyn för ditt utvecklingscenter eller projekt.
I kolumnen Status väljer du statuslänken för katalogen som inte kunde synkroniseras.
Du ser ett informationsfönster som visar ändringarna i den senaste synkroniseringen, antalet synkroniseringsfel och typen av fel.
Visa katalogsynkroniseringsvarningar
Välj Kataloger under Miljökonfiguration på den vänstra menyn för ditt utvecklingscenter eller projekt.
I kolumnen Status väljer du statuslänken för katalogen som synkroniserades men rapporterar en varning.
Du ser ett informationsfönster som visar ändringarna i den senaste synkroniseringen, antalet objektfel och typen och källan för varje fel.
Du kan visa objekt som har synkroniserats från en katalog som även rapporterar synkroniseringsfel. Välj katalognamnet i fönstret Kataloger .
Du ser en lista över katalogobjekt som har synkroniserats.
Felsöka katalogsynkroniseringsfel med hjälp av Azure CLI
Använd Azure CLI eller REST-API:et för att hämta katalogen. GET-svaret visar typen av fel:
- Ignorerade miljödefinitioner som identifierades som dubbletter.
- Ogiltiga miljödefinitioner som misslyckades på grund av schema-, referens- eller valideringsfel.
Lösa fel med ignorerad miljödefinition
Ett ignorerat miljödefinitionsfel uppstår om du lägger till två eller flera miljödefinitioner som har samma namn. Du kan lösa det här problemet genom att byta namn på miljödefinitioner så att varje miljödefinition har ett unikt namn i katalogen.
Lösa ogiltiga miljödefinitionsfel
Ett ogiltigt miljödefinitionsfel kan inträffa av olika orsaker:
Manifestschemafel. Kontrollera att miljödefinitionsmiljöfilen matchar det obligatoriska schemat.
Valideringsfel. Kontrollera följande objekt för att lösa valideringsfel:
- Kontrollera att miljöfilens motortyp är korrekt konfigurerad.
- Kontrollera att miljödefinitionsnamnet är mellan 3 och 63 tecken.
- Kontrollera att miljödefinitionsnamnet endast innehåller tecken som är giltiga för en URL, som är alfanumeriska tecken och dessa symboler:
~
!
,
.
'
;
:
=
-
_
+
(
)
*
&
$
@
Referensfel. Kontrollera att mallsökvägen som miljöfilen refererar till är en giltig relativ sökväg till en fil på lagringsplatsen.