Usare un modulo di un registro privato
Si è appreso come pubblicare moduli in un registro privato. In questa unità verrà illustrato come usare i moduli già presenti in un registro come parte di un modello Bicep.
Usare un modulo Bicep
Dopo aver trovato un modulo da usare, creare una definizione del modulo nel modello Bicep. Ecco un esempio:
module myModule 'br:myregistry.azurecr.io/modulepath/modulename:moduleversion' = {
name: 'my-module'
params: {
moduleParameter1: 'value'
}
}
Si noti che la definizione del modulo è simile a quella di un modulo locale, ma con una differenza importante. Anziché specificare il percorso di un file Bicep nel file system, è necessario includere il percorso del modulo nel registro.
Dopo aver aggiunto un riferimento al modulo, Visual Studio Code tenta di scaricare automaticamente il modulo dal registro. Quando il modulo viene scaricato, l'estensione Bicep per Visual Studio Code offre IntelliSense e altri strumenti di assistenza per la creazione del codice durante le attività di sviluppo.
Alias
È possibile usare un alias del registro per semplificare le definizioni dei moduli. Anziché specificare il nome del registro ogni volta che si definisce un modulo, si userà l'alias corrispondente. Gli alias offrono alcuni vantaggi:
- Possono mantenere il file Bicep più ordinato ed evitano di digitare ripetutamente il nome completo del registro.
- Se si passa a un nuovo registro in futuro, è possibile aggiornare l'alias anziché aggiornare ogni riferimento a esso.
- Alcune organizzazioni devono usare registri diversi per situazioni diverse, ad esempio per gli ambienti di sviluppo e di produzione. È possibile cambiare il registro a cui fa riferimento un alias modificando un file di configurazione. La modifica si applica quindi a tutti i file Bicep nella cartella.
Per definire un alias, è necessario creare un file bicepconfig.json nella stessa cartella del file Bicep. All'interno del file bicepconfig.json, si definiscono gli alias come in questo esempio:
{
"moduleAliases": {
"br": {
"MyRegistry": {
"registry": "myregistry.azurecr.io"
}
}
}
}
Quando si definisce un modulo in un file Bicep, si usa un tipo di percorso del modulo leggermente diverso che include l'alias:
module myModule 'br/MyRegistry:bicep/my-module:v1' = {
// ...
}
Suggerimento
Si noti che l'inizio del percorso è br/
quando si usa un alias e br:
quando non si usa.
Un alias può includere anche il percorso dei moduli all'interno del Registro di sistema, utile se si usa un prefisso comune per i moduli:
{
"moduleAliases": {
"br": {
"MyRegistryWithPath": {
"registry": "myregistry.azurecr.io",
"modulePath": "bicep"
}
}
}
}
È quindi possibile omettere il percorso quando si definisce il modulo nel file Bicep:
module myModule 'br/MyRegistryWithPath:my-module:v1' = {
// ...
}
Compilare il file Bicep
Quando si è pronti per la distribuzione del file Bicep, è possibile procedere esattamente come si fa normalmente. Bicep scarica automaticamente il modulo dal registro come parte del processo di distribuzione. Bicep incorpora tutti i moduli a cui viene fatto riferimento nel modello di ARM transcompilato, ovvero un file JSON.
È anche possibile separare il processo di download del modulo dalla compilazione usando il comando bicep restore
. È quindi possibile usare il comando bicep build
con l'opzione della riga di comando --no-restore
per impedire al processo di compilazione di scaricare il modulo. Di solito non è, tuttavia, necessario separare i moduli e consentire a Bicep di scaricare automaticamente i moduli.