Bicep modülleri için özel kayıt defteri oluşturma

Kuruluşunuzdaki modülleri paylaşmak için özel bir modül kayıt defteri oluşturabilirsiniz. Ardından modülleri bu kayıt defterinde yayımlayabilir ve modülleri dağıtması gereken kullanıcılara okuma erişimi verebilirsiniz. Modüller kayıt defterlerinde paylaşıldıktan sonra, Bunlara Bicep dosyalarınızdan başvurabilirsiniz. Genel modülleri kullanmak için bkz . Bicep Modülleri.

Modül kayıt defterleriyle çalışmak için Bicep CLI 0.4.1008 veya sonraki bir sürümüne sahip olmanız gerekir. Azure CLI ile kullanmak için 2.31.0 veya sonraki bir sürüme de sahip olmanız gerekir; Azure PowerShell ile kullanmak için 7.0.0 veya sonraki bir sürüme de sahip olmanız gerekir.

Eğitim kaynakları

Adım adım yönergeler aracılığıyla parametreler hakkında bilgi edinmek isterseniz bkz . Özel kayıt defterlerini kullanarak Bicep modüllerini paylaşma.

Özel kayıt defterini yapılandırma

Bicep kayıt defteri Azure Container Registry'de (ACR) barındırılır. Modüller için kayıt defterinizi yapılandırmak için aşağıdaki adımları kullanın.

  1. Zaten bir kapsayıcı kayıt defteriniz varsa, bunu kullanabilirsiniz. Kapsayıcı kayıt defteri oluşturmanız gerekiyorsa bkz . Hızlı Başlangıç: Bicep dosyası kullanarak kapsayıcı kayıt defteri oluşturma.

    Modül kayıt defteri için kullanılabilir kayıt defteri SKU'larından herhangi birini kullanabilirsiniz. Kayıt defteri coğrafi çoğaltma , kullanıcılara yerel bir iletişim durumu veya sık erişimli yedekleme sağlar.

  2. Oturum açma sunucusu adını alın. Bicep dosyalarınızdan kayıt defterine bağlanırken bu ada ihtiyacınız vardır. Oturum açma sunucusu adının biçimi: <registry-name>.azurecr.io.

    Oturum açma sunucusu adını almak için Get-AzContainerRegistry kullanın.

    Get-AzContainerRegistry -ResourceGroupName "<resource-group-name>" -Name "<registry-name>"  | Select-Object LoginServer
    
  3. Modülleri bir kayıt defterinde yayımlamak için görüntü gönderme izniniz olmalıdır. Kayıt defterinden modül dağıtmak için görüntüyü çekme izniniz olmalıdır. Yeterli erişim veren roller hakkında daha fazla bilgi için bkz . Azure Container Registry rolleri ve izinleri.

  4. Modülü dağıtmak için kullandığınız hesabın türüne bağlı olarak, hangi kimlik bilgilerinin kullanılacağını özelleştirmeniz gerekebilir. Modülleri kayıt defterinden almak için bu kimlik bilgileri gereklidir. Kimlik bilgileri varsayılan olarak Azure CLI veya Azure PowerShell'den alınır. kimlik bilgilerini bicepconfig.json dosyasına almak için önceliği özelleştirebilirsiniz. Daha fazla bilgi için bkz . Modülleri geri yüklemek için kimlik bilgileri.

Önemli

Özel kapsayıcı kayıt defteri yalnızca gerekli erişime sahip kullanıcılar tarafından kullanılabilir. Ancak, genel İnternet üzerinden erişilir. Daha fazla güvenlik için özel uç nokta üzerinden erişim gerektirebilirsiniz. Bkz. Azure Özel Bağlantı kullanarak Azure kapsayıcı kayıt defterine özel olarak bağlanma.

Özel kapsayıcı kayıt defterinde ilke azureADAuthenticationAsArmPolicy olarak ayarlanmalıdır enabled. olarak ayarlanırsa azureADAuthenticationAsArmPolicy disabled, modülleri yayımlarken bir 401 (Yetkisiz) hata iletisi alırsınız. Bkz . Azure Container Registry Koşullu Erişim ilkesini tanıtır.

Dosyaları kayıt defterinde yayımlama

Kapsayıcı kayıt defterini ayarladıktan sonra dosya yayımlayabilirsiniz. Yayımla komutunu kullanın ve modül olarak kullanmayı planladığınız tüm Bicep dosyalarını sağlayın. Kayıt defterinizdeki modülün hedef konumunu belirtin. Yayımla komutu, kayıt defterinde depolanan bir ARM şablonu oluşturur. Başka bir deyişle, diğer yerel modüllere başvuran bir Bicep dosyası yayımlanırsa, bu modüller tek bir JSON dosyası olarak tamamen genişletilir ve kayıt defterinde yayımlanır.

Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html

Bicep CLI sürüm 0.27.1 veya daha yeni bir sürümle, derlenmiş JSON şablonuna ek olarak Bicep kaynak koduyla bir modül yayımlayabilirsiniz. Bicep kaynak koduyla bir modül kayıt defterinde yayımlanırsa, Bicep Kodunu görmek için Visual Studio Code'dan (Tanıma Git) tuşuna basabilirsiniz F12 . Bicep dosyasını görmek için Bicep uzantısı sürüm 0.27 veya yeni gereklidir.

Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html -WithSource

ile kaynak anahtarıyla bildirimde başka bir katman görürsünüz:

Kaynak ile bicep modülü kayıt defterinin ekran görüntüsü.

Bicep modülü Özel Kayıt Defteri'ndeki bir modüle başvuruda bulunursa, ACR uç noktası görünür. Uç noktanın tamamını gizlemek için özel kayıt defteri için bir diğer ad yapılandırabilirsiniz.

Kayıt defterinde dosyaları görüntüleme

Yayımlanan modülü portalda görmek için:

  1. Azure Portal’ında oturum açın.

  2. Kapsayıcı kayıt defterlerini arayın.

  3. Kayıt defterinizi seçin.

  4. Soldaki menüden Hizmetler ->Depolar'ı seçin.

  5. Modül yolunu (depo) seçin. Yukarıdaki örnekte modül yolu adı bicep/modules/storage şeklindedir.

  6. Etiketi seçin. Yukarıdaki örnekte etiketi v1'dir.

  7. Yapıt başvurusu, Bicep dosyasında kullandığınız başvuruyla eşleşir.

    Bicep modülü kayıt defteri yapıtı başvurusu

Artık bir Bicep dosyasından kayıt defterindeki dosyaya başvurmaya hazırsınız. Dış modüle başvurmak için kullanılacak söz dizimi örnekleri için bkz . Bicep modülleri.


Bicep kayıt defteri dosyalarıyla çalışma

Uzak kayıt defterinde barındırılan bicep dosyalarını kullanırken, yerel makinenizin kayıt defteriyle nasıl etkileşim kurduğunu anlamak önemlidir. Kayıt defterine başvuruyu ilk kez bildirdiğinizde, yerel düzenleyiciniz Azure Container Registry ile iletişim kurmaya ve kayıt defterinin bir kopyasını yerel önbelleğinize indirmeye çalışır.

Yerel önbellek şu şekilde bulunur:

  • Windows üzerinde

    %USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
    
  • Linux'ta

    /home/<username>/.bicep
    
  • Mac'te

    ~/.bicep
    

Yerel makineniz, kayıt defteri başvurusunu içeren belirtilen dosyayla çalıştırana restore kadar uzak kayıt defterinde yapılan değişiklikleri tanıyabilir.

az bicep restore --file <bicep-file> [--force]

Daha fazla bilgi için komutuna restore bakın.

Sonraki adımlar