Dela via


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.

Skärmbild av hur du skapar Bicep-konfigurationsfilen i VS Code.

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.

Skärmbild av intellisense-stödet för att konfigurera bicepconfig.json.

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:

Ett diagram som visar hur du löser

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.

Ett diagram som visar hur du löser

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