Konfigurera din Bicep-miljö
Bicep stöder en valfri konfigurationsfil med namnet bicepconfig.json
. I den här filen kan du lägga till värden som anpassar Bicep-utvecklingsupplevelsen. Den här filen sammanfogas med standardkonfigurationsfilen. Mer information finns i Förstå sammanslagningsprocessen. Om du vill anpassa konfigurationen skapar du en konfigurationsfil i samma katalog eller en överordnad katalog för dina Bicep-filer. Om det finns flera överordnade kataloger som innehåller bicepconfig.json
filer använder Bicep konfigurationen från närmaste. Mer information finns i Förstå filmatchningsprocessen.
Information om hur du konfigurerar Bicep-tilläggsinställningar finns i VS Code- och Bicep-tillägget.
Skapa konfigurationsfilen i Visual Studio Code
Du kan använda valfri textredigerare för att skapa konfigurationsfilen.
Om du vill skapa en bicepconfig.json
fil i Visual Studio Code öppnar du kommandopaletten ([CTRL/CMD]+[SKIFT]+P) och väljer sedan Bicep: Skapa Bicep-konfigurationsfil. Mer information finns i Skapa Bicep-konfigurationsfil.
Bicep-tillägget för Visual Studio Code stöder intellisense för filen bicepconfig.json
. Använd intellisense för att identifiera tillgängliga egenskaper och värden.
Förstå sammanslagningsprocessen
Filen bicepconfig.json
genomgår en rekursiv sammanslagningsprocess nedifrån och upp med standardkonfigurationsfilen. Under sammanslagningsprocessen undersöker Bicep varje sökväg i båda konfigurationerna. Om det inte finns någon sökväg i standardkonfigurationen läggs sökvägen och dess associerade värde till i slutresultatet. Om det däremot finns en sökväg i standardkonfigurationen med ett annat värde har värdet från bicepconfig.json
företräde i det sammanfogade resultatet.
Tänk dig ett scenario där standardkonfigurationen definieras på följande sätt:
{
"cloud": {
...
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
}
}
},
...
}
Och definieras på bicepconfig.json
följande sätt:
{
"cloud": {
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
}
}
Den resulterande sammanslagna konfigurationen skulle vara:
{
"cloud": {
...
"credentialPrecedence": [
"AzurePowerShell",
"AzureCLI"
]
},
"moduleAliases": {
"ts": {},
"br": {
"public": {
"registry": "mcr.microsoft.com",
"modulePath": "bicep"
},
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
}
},
...
}
I föregående exempel ersätts värdet cloud.credentialPrecedence
för medan värdet cloud.moduleAliases.ContosoRegistry
för och cloud.moduleAliases.CoreModules
läggs till i den sammanfogade konfigurationen.
Förstå filmatchningsprocessen
Filen bicepconfig.json
kan placeras i samma katalog eller i en överordnad katalog för dina Bicep-filer. Om det finns flera överordnade kataloger som innehåller bicepconfig.json
filer använder Bicep konfigurationsfilen från närmaste. Till exempel i den angivna mappstrukturen där varje mapp har en bicepconfig.json
fil:
Om du kompilerar main.bicep
i child
mappen bicepconfig.json
används filen i child
mappen. Konfigurationsfilerna parent
i mappen och root
mappen ignoreras. child
Om mappen inte innehåller en konfigurationsfil söker Bicep efter en konfiguration i parent
mappen och sedan mappenroot
. Om ingen konfigurationsfil hittas i någon av mapparna använder Bicep standardvärdena.
I kontexten för en Bicep-fil som anropar flera moduler, genomgår varje modul kompilering med hjälp av närmaste bicepconfig.json
. Sedan kompileras huvudfilen för Bicep med motsvarande bicepconfig.json
. I följande scenario modA.bicep
kompileras med hjälp av den bicepconfig.json
som finns i A
mappen, modB.bicep
kompileras med bicepconfig.json
i B
mappen och kompileras slutligen main.bicep
med hjälp av bicepconfig.json
i root
mappen.
I avsaknad av en bicepconfig.json
fil i mapparna A
och B
kompileras alla tre Bicep-filerna med hjälp av den bicepconfig.json
som finns i root
mappen. Om bicepconfig.json
inte finns i någon av mapparna används standardvärdena för kompileringsprocessen.
Konfigurera Bicep-moduler
När du arbetar med moduler kan du lägga till alias för modulsökvägar. Dessa alias förenklar Bicep-filen eftersom du inte behöver upprepa komplicerade sökvägar. Du kan också konfigurera molnprofil och autentiseringsprioritet för autentisering till Azure från Bicep CLI och Visual Studio Code. Autentiseringsuppgifterna används för att publicera moduler till register och återställa externa moduler till den lokala cachen när du använder funktionen infoga resurs. Mer information finns i Lägga till modulinställningar i Bicep-konfigurationen.
Konfigurera Linter-regler
Bicep-lintern kontrollerar Bicep-filer efter syntaxfel och överträdelser av bästa praxis. Du kan åsidosätta standardinställningarna för Bicep-filvalidering genom att bicepconfig.json
ändra . Mer information finns i Lägga till linterinställningar i Bicep-konfigurationen.
Aktivera experimentella funktioner
Du kan aktivera experimentella funktioner genom att lägga till följande avsnitt i bicepconfig.json
filen.
Här är ett exempel på hur du aktiverar funktionerna "försäkran" och "testFramework".
{
"experimentalFeaturesEnabled": {
"assertions": true,
"testFramework": true
}
}
Information om den aktuella uppsättningen experimentella funktioner finns i Experimentella funktioner.
Nästa steg
- Lägg till modulinställningar i Bicep-konfiguration
- Lägga till linterinställningar i Bicep config
- Lär dig mer om Bicep-lintern