Visual Studio aracılığıyla Azure kaynak grupları oluşturma ve dağıtma

Visual Studio ile altyapınızı ve kodlarınızı Azure’a dağıtan bir proje oluşturabilirsiniz. Örneğin, Web sitesi için Web konağını, Web sitesini ve kodu dağıtabilirsiniz. Visual Studio genelde karşılaşılan senaryoların dağıtılması için birçok farklı başlangıç şablonu sağlar. Bu makalede bir Web uygulaması dağıtırsınız.

bu makalede , Azure geliştirme ve ASP.NET iş yükleriyle Visual Studio 2019 veya sonraki bir sürümününnasıl kullanılacağı gösterilmektedir. Visual Studio 2017 kullanıyorsanız, deneyiminiz büyük ölçüde aynıdır.

Azure Kaynak Grubu projesi oluşturma

Bu bölümde, bir Web uygulaması şablonuyla bir Azure Kaynak grubu projesi oluşturacaksınız.

  1. Visual Studio ' de dosya > yeni > Project' ni seçin.

  2. Azure Kaynak grubu proje şablonunu ve Ileri ' yi seçin.

    Ekran görüntüsünde, Azure Kaynak grubu ile yeni bir proje oluştur penceresi ve sonraki düğme vurgulandığını gösterir.

  3. Projenize bir ad verin. Diğer varsayılan ayarlar muhtemelen iyidir, ancak ortamınız için çalışmak üzere bunları gözden geçirin. İşiniz bittiğinde Oluştur’u seçin.

    Proje oluşturma

  4. Azure Resource Manager’da dağıtmak istediğiniz şablonu seçin. Dağıtmak istediğiniz proje türüne bağlı olarak çok sayıda farklı seçeneğiniz olduğunu unutmayın. Bu makale için Web uygulaması şablonunu ve Tamam' ı seçin.

    Şablon seçme

    Seçtiğiniz şablon sadece başlangıçtır; senaryonuzun gereksinimlerini karşılamak üzere kaynak ekleyebilir ve kaldırabilirsiniz.

  5. Visual Studio web uygulaması için bir kaynak grubu dağıtım projesi oluşturur. Projenizin dosyalarını görmek için dağıtım projesindeki düğüme bakın.

    Düğümleri göster

    Web uygulaması şablonunu seçtiğinizden, aşağıdaki dosyaları görürsünüz:

    Dosya adı Açıklama
    Deploy-AzureResourceGroup.ps1 Azure Resource Manager’da dağıtılacak PowerShell komutlarını çalıştıran PowerShell betiği. Visual Studio, şablonunuzu dağıtmak için bu PowerShell betiğini kullanır.
    Üzerinde WebSite.js Azure’da dağıtmak istediğiniz altyapıyı tanımlayan Resource Manager şablonu ve dağıtım sırasında sağlayabileceğiniz parametreler. Resource Manager’ın kaynakları doğru sırayla dağıtmasını sağlamak için kaynaklarınız arasındaki bağımlılıkları da tanımlar.
    Üzerinde WebSite.parameters.js Şablon tarafından gereken değerleri içeren bir parametre dosyası. Her bir dağıtımı özelleştirmek için parametre değerlerini geçirirsiniz. Derleme eyleminin içerik olarak ayarlandığını unutmayın. Daha fazla parametre dosyası eklerseniz, derleme eyleminin içerik olarak ayarlandığından emin olun.

    Tüm kaynak grubu dağıtım projeleri bu temel dosyaları içerir. Diğer projelerde diğer işlevleri desteklemek için daha fazla dosya olabilir.

Kaynak Yöneticisi şablonu özelleştirme

Dağıtım projesini, dağıtmak istediğiniz kaynakları açıklayan Kaynak Yöneticisi şablonunu değiştirerek özelleştirebilirsiniz. Resource Manager şablonu bileşenleri hakkında daha fazla bilgi edinmek için Azure Resource Manager şablonları yazma.

  1. Şablonunuzda çalışmak için üzerindeWebSite.js açın.

  2. Visual Studio düzenleyicisi, Resource Manager şablonu düzenleme konusunda size yardımcı olan araçlar sağlar. JSON Ana Hattı penceresi, şablonunuzda tanımlanan bileşenleri görmenizi kolaylaştırır.

    JSON ana hattını göster

  3. Şablonun ilgili bölümüne gitmek için anahatta bir öğe seçin.

    JSON 'a git

  4. JSON Ana Hattı penceresinin üst tarafında bulunan Kaynak Ekle düğmesini seçerek veya kaynaklar’a sağ tıklayıp Yeni Kaynak Ekle’yi seçerek yeni kaynak ekleyebilirsiniz.

    Ekran görüntüsü, yeni kaynak ekle seçeneğinin vurgulandığı JSON ana hat penceresini gösterir.

  5. Depolama hesabı ' nı seçin ve bir ad verin. 11 karakterden uzun olmayan ve yalnızca sayı ile küçük harf içeren bir ad belirtin.

    Depolama ekleme

  6. Yalnızca kaynak eklenmediğini, aynı zamanda depolama hesabı türü için bir parametre ve depolama hesabı adı bir değişken eklendiğini unutmayın.

    Ana hattı göster

  7. Depolama hesabı türünün parametresi, izin verilen türler ve varsayılan bir tür ile önceden tanımlanmıştır. Bu değerleri bırakabilir veya senaryonuz için düzenleyebilirsiniz. Bu şablon aracılığıyla herkesin Premium_LRS depolama hesabı dağıtmasını istemiyorsanız izin verilen türlerden bunu kaldırın.

    "demoaccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_ZRS",
        "Standard_GRS",
        "Standard_RAGRS"
      ]
    }
    
  8. Visual Studio, şablonu düzenlenirken kullanılabilen özellikleri anlamanıza yardımcı olması için ıntellisense de sağlar. Örneğin, App Service planınızın özelliklerini düzenlemek için HostingPlan kaynağına gidin ve resources için bir değer ekleyin. IntelliSense’in kullanılabilir değerleri gösterdiğini ve bu değerler için bir açıklama sunduğunu unutmayın.

    IntelliSense 'i göster

    Numberofçalışanları 1 olarak ayarlayabilir ve dosyayı kaydedebilirsiniz.

    "properties": {
      "name": "[parameters('hostingPlanName')]",
      "numberOfWorkers": 1
    }
    
  9. WebSite.parameters.jsdosya üzerinde açın. Dağıtım sırasında dağıtılan kaynağı özelleştiren değerleri geçirmek için parametreler dosyasını kullanın. Barındırma planına bir ad verin ve dosyayı kaydedin.

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "hostingPlanName": {
          "value": "demoHostPlan"
        }
      }
    }
    

Projeyi Azure 'a dağıtma

Artık projenizi bir kaynak grubuna dağıtmaya hazırsınız.

Varsayılan olarak, projedeki PowerShell betiği (Deploy-AzureResourceGroup.ps1) Azurerd modülünü kullanır. AzureRM modülünü hala yüklediyseniz ve kullanmaya devam etmek istiyorsanız, bu varsayılan betiği kullanabilirsiniz. bu komut dosyası ile çözümünüzü dağıtmak için Visual Studio arabirimini kullanabilirsiniz.

Ancak, yeni az modülegeçiş yaptıysanız projenize yeni bir komut dosyası eklemeniz gerekir. Az Module kullanan bir betik eklemek için Deploy-AzTemplate.ps1 betiğini kopyalayın ve projenize ekleyin. bu betiği dağıtım için kullanmak üzere Visual Studio dağıtım arabirimini kullanmak yerine bir PowerShell konsolundan çalıştırmanız gerekir.

Her iki yaklaşım da bu makalede gösterilmektedir. Bu makale, Azurere modül betiği olarak varsayılan komut dosyası ve az Module betiği olarak yeni komut dosyası anlamına gelir.

Az Module betiği

Az Module betiği için bir PowerShell konsolu açın ve şunu çalıştırın:

.\Deploy-AzTemplate.ps1 -ArtifactStagingDirectory . -Location centralus -TemplateFile WebSite.json -TemplateParametersFile WebSite.parameters.json

Azurerd modülü betiği

Azurerd modül betiği için Visual Studio kullanın:

  1. Dağıtım projesi düğümünün kısayol menüsünde Yeni Dağıt' ı seçin > .

    Yeni dağıtım menü öğesi

  2. Kaynak Grubuna Dağıt iletişim kutusu görüntülenir. Kaynak Grubu açılır kutusunda, mevcut bir kaynak grubu seçin veya yeni bir tane oluşturun. Dağıt'ı seçin.

    Kaynak grubuna Dağıt iletişim kutusu

  3. Çıktı pencerelerinde dağıtımın durumunu görürsünüz. Dağıtım tamamlandığında son ileti aşağıdakine benzer bir ifadeyle dağıtımın başarılı olduğunu belirtir:

    18:00:58 - Successfully deployed template 'website.json' to resource group 'ExampleAppDeploy'.
    

Dağıtılan kaynakları görüntüle

Sonuçları kontrol edelim.

  1. Bir tarayıcıda Azure Portal açın ve hesabınızda oturum açın. Kaynak grubunu görmek için Kaynak grupları’nu ve dağıttığınız kaynak grubunu seçin.

  2. Dağıtılan tüm kaynakları görürsünüz. Depolama hesabı adının, ilgili kaynağı eklerken belirttiğiniz adla tam olarak aynı olmadığına dikkat edin. Depolama hesabı benzersiz olmalıdır. Şablon, benzersiz bir ad oluşturmak için girdiğiniz ada otomatik olarak bir karakter dizesi ekler.

    Kaynakları göster

Projeye kod ekleme

Bu noktada, uygulamanız için altyapı dağıttınız, ancak proje ile dağıtılan gerçek bir kod yoktur.

  1. Visual Studio çözümünüze bir proje ekleyin. Çözüme sağ tıklayın ve Yeni Ekle'yi > Project.

    Proje ekleme

  2. Bir web ASP.NET Core uygulaması ekleyin.

    Web uygulaması ekleme

  3. Web uygulamanıza bir ad girin ve Oluştur'a seçin.

    Web uygulamasını adla

  4. Web Uygulaması'ı ve Oluştur'ı seçin.

    Web uygulaması seçme

  5. Visual Studio web uygulamanızı oluşturduktan sonra her iki projeyi de çözümde görürsünüz.

    Projeleri göster

  6. Bundan böyle kaynak grubu projenizin yeni projeyi tanıdığından emin olmanız gerekir. Geri dön grubu projenize (ExampleAppDeploy) abone olun. Başvurular’a sağ tıklayın ve Başvuru Ekle’yi seçin.

    Başvuru Ekle seçeneğinin vurgulanmış olduğu ExampleAppDeploy menüsünü gösteren ekran görüntüsü.

  7. Oluşturduğunuz web uygulaması projesini seçin.

    Başvuru ekleme

    Bir başvuru ekleyerek, web uygulaması projesini kaynak grubu projesine bağlar ve bazı özellikleri otomatik olarak ayarlar. Bu özellikleri başvurunun Özellikler penceresinde görürsünüz. Dosya Yolu Ekle paketin oluşturulduğu yerin yolunu içerir. Klasörü (ExampleApp) ve dosyayı (package.zip) not edin. Uygulamayı dağıtırken parametre olarak ileteceğiniz için bu değerleri bilmeniz gerekir.

    Başvuruya bakın

  8. Geri dön (WebSite.js) ve şablona bir kaynak ekleyin.

    Kaynak ekleme

  9. Bu kez Web Apps için Web Dağıtımı’nı seçin.

    Web dağıtımı ekleme

    Şablonlarınızı kaydedin.

  10. Şablonunda bazı yeni parametreler var. Önceki adımda eklendiler. Bu değerler otomatik olarak _artifactsLocation _artifactsLocationSasToken için değer sağlamanız gerekli değil. Ancak, klasör ve dosya adını dağıtım paketini içeren yola ayarlamalısınız. Bu parametrelerin adları PackageFolder ve PackageFileName ile sona erer. Adın ilk bölümü, eklenen kaynak Web Dağıtımı adıdır. Bu makalede, ExampleAppPackageFolder ve ExampleAppPackageFileName olarak adlandırılmıştır.

    Bu Website.parameters.jsaçın ve bu parametreleri başvuru özelliklerinde gördüğümüz değerlere ayarlayın. ExampleAppPackageFolder'ı klasörün adına ayarlayın. ExampleAppPackageFileName'i zip dosyasının adına ayarlayın.

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "hostingPlanName": {
          "value": "demoHostPlan"
        },
        "ExampleAppPackageFolder": {
          "value": "ExampleApp"
        },
        "ExampleAppPackageFileName": {
          "value": "package.zip"
        }
      }
    }
    

Altyapı ile kod dağıtma

Projeye kod ekley kodunuz nedeniyle dağıtımınız bu kez biraz farklı. Dağıtım sırasında projenizin yapıtlarını, projenizin erişe Resource Manager hazırlar. Yapıtlar bir depolama hesabına göre aşamalıdır.

Az modül betiği

Az modül betiği kullanıyorsanız şablonda küçük bir değişiklik yapmak gerekir. Bu betik yapıtların konumunu bir eğik çizgi ekler ancak şablonunuz bu eğik çizgiyi beklemez. Dosya WebSite.jsaçın ve MSDeploy uzantısının özelliklerini bulun. packageUri adlı bir özelliği vardır. Yapıt konumu ile paket klasörü arasındaki eğik çizgiyi kaldırın.

Şu şekilde görünmelidir:

"packageUri": "[concat(parameters('_artifactsLocation'), parameters('ExampleAppPackageFolder'), '/', parameters('ExampleAppPackageFileName'), parameters('_artifactsLocationSasToken'))]",

Yukarıdaki örnekte parametreler '/', ('_artifactsLocation') ile parameters('ExampleAppPackageFolder') arasında bir değer olmadığını fark var.

Projeyi yeniden oluşturma. Projeyi oluşturma, dağıtması gereken dosyaların hazırlama klasörüne eklendiklerine emin olur.

Şimdi bir PowerShell konsolu açın ve şu çalıştırın:

.\Deploy-AzTemplate.ps1 -ArtifactStagingDirectory .\bin\Debug\staging\ExampleAppDeploy -Location centralus -TemplateFile WebSite.json -TemplateParametersFile WebSite.parameters.json -UploadArtifacts -StorageAccountName <storage-account-name>

AzureRM modülü betiği

AzureRM modülü betiği için şu Visual Studio:

  1. Yeniden dağıtmak için Dağıt'ı ve daha önce dağıtmış olduğunuz kaynak grubunu seçin.

    Projeyi yenidenploy

  2. Yapıt depolama hesabı için bu kaynak grubuyla dağıtılan depolama hesabını seçin.

    Web dağıtımı yeniden dağıtma

Web uygulamasını görüntüleme

  1. Dağıtım tamamlandıktan sonra portalda web uygulamanızı seçin. Yeni siteye göz atmak için URL’yi seçin.

    Siteye göz atma

  2. Varsayılan ASP.NET uygulamasını başarıyla dağıttığınızdan emin olun.

    Dağıtılan uygulamayı gösterme

İşlem panosu ekleme

Yalnızca Visual Studio arabirimi aracılığıyla kullanılabilir olan kaynaklarla sınırlı olmazsınız. Şablonunuza özel bir kaynak ekleyerek dağıtımınızı özelleştirebilirsiniz. Kaynak eklemeyi göstermek için dağıttığınız kaynağı yönetmek üzere bir işlem panosu eklersiniz.

  1. Dosyada WebSite.jsaçın ve depolama hesabı kaynağına aşağıdaki JSON'u ekleyin, ancak kaynaklar bölümü ] kapatılamadan önce.

     ,{
       "properties": {
         "lenses": {
           "0": {
             "order": 0,
             "parts": {
               "0": {
                 "position": {
                   "x": 0,
                   "y": 0,
                   "colSpan": 4,
                   "rowSpan": 6
                 },
                 "metadata": {
                   "inputs": [
                     {
                       "name": "resourceGroup",
                       "isOptional": true
                     },
                     {
                       "name": "id",
                       "value": "[resourceGroup().id]",
                       "isOptional": true
                     }
                   ],
                   "type": "Extension/HubsExtension/PartType/ResourceGroupMapPinnedPart"
                 }
               },
               "1": {
                 "position": {
                   "x": 4,
                   "y": 0,
                   "rowSpan": 3,
                   "colSpan": 4
                 },
                 "metadata": {
                   "inputs": [],
                   "type": "Extension[azure]/HubsExtension/PartType/MarkdownPart",
                   "settings": {
                     "content": {
                       "settings": {
                         "content": "__Customizations__\n\nUse this dashboard to create and share the operational views of services critical to the application performing. To customize simply pin components to the dashboard and then publish when you're done. Others will see your changes when you publish and share the dashboard.\n\nYou can customize this text too. It supports plain text, __Markdown__, and even limited HTML like images <img width='10' src='https://portal.azure.com/favicon.ico'/> and <a href='https://azure.microsoft.com' target='_blank'>links</a> that open in a new tab.\n",
                         "title": "Operations",
                         "subtitle": "[resourceGroup().name]"
                       }
                     }
                   }
                 }
               }
             }
           }
         },
         "metadata": {
           "model": {
             "timeRange": {
               "value": {
                 "relative": {
                   "duration": 24,
                   "timeUnit": 1
                 }
               },
               "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"
             }
           }
         }
       },
       "type": "Microsoft.Portal/dashboards",
       "apiVersion": "2015-08-01-preview",
       "name": "[concat('ARM-',resourceGroup().name)]",
       "location": "[resourceGroup().location]",
       "tags": {
         "hidden-title": "[concat('OPS-',resourceGroup().name)]"
       }
     }
    
  2. Projenizi yeniden çarpın.

  3. Dağıtım tamam olduktan sonra panoyu portalda görüntüleyebilirsiniz. Pano'ya ve dağıtılan panoyu seçin.

    Örnek bir özel panonun vurgulanmış olduğu Pano sayfasını gösteren ekran görüntüsü.

  4. Özelleştirilmiş panoyu görürsünüz.

    Özel Pano

Pano erişimini yönetmek için Azure rol tabanlı erişim denetimi (Azure RBAC) kullanabilirsiniz. Ayrıca dağıtıldıktan sonra panonun görünümünü özelleştirebilirsiniz. Ancak kaynak grubunuza yeniden dağıttığınızda pano şablonunuzdaki varsayılan durumuna sıfırlanır. Pano oluşturma hakkında daha fazla bilgi için bkz. Program aracılığıyla Azure Panoları oluşturma.

Kaynakları temizleme

Artık Azure kaynakları gerekli değilse, kaynak grubunu silerek dağıttığınız kaynakları temizleyin.

  1. Sol Azure portal Kaynak grupları'ı seçin.

  2. Kaynak grubu adını seçin.

  3. Üst menüden Kaynak grubunu sil'i seçin.

Sonraki adımlar

Bu makalede, Visual Studio kullanarak şablon oluşturma ve dağıtma hakkında bilgi Visual Studio. Şablon geliştirme hakkında daha fazla bilgi edinmek için yeni başlangıç öğretici serimize bakın: