MySQL için Azure Veritabanı için Azure Pipelines - Esnek Sunucu

ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Esnek Sunucu

Azure Pipelines ile yapılan her başarılı derlemeden sonra veritabanı güncelleştirmelerinizi otomatik olarak MySQL için Azure Veritabanı Esnek Sunucu'ya dağıtabilirsiniz. Azure CLI görevini kullanarak veritabanını bir SQL dosyasıyla veya veritabanındaki satır içi SQL betiğiyle güncelleştirebilirsiniz. Bu görev Linux, macOS veya Windows işletim sistemlerinde çalışan platformlar arası aracılarda çalıştırılabilir.

Önkoşullar

Bu hızlı başlangıçta, başlangıç noktası olarak şu kılavuzlardan birinde oluşturulan kaynaklar kullanılmaktadır:

  • Azure portalını veya Azure CLI'yi kullanarak MySQL için Azure Veritabanı Esnek Sunucu örneği oluşturun.

SQL dosyasını kullanma

Aşağıdaki örnekte veritabanı bağımsız değişkenlerini geçirme ve komutu çalıştırma execute işlemleri gösterilmektedir

- task: AzureCLI@2
  displayName: Azure CLI
  inputs:
    azureSubscription: <Name of the Azure Resource Manager service connection>
    scriptLocation: inlineScript
    arguments:
      -SERVERNAME mydemoserver `
      -DBNAME pollsdb `
      -DBUSER pollsdbuser`
      -DBPASSWORD pollsdbpassword
    inlineScript: |
      az login --allow-no-subscription
      az mysql flexible-server execute --name $(SERVERNAME) \
      --admin-user $(DBUSER) --admin-password '$(DBPASSWORD)' \
      --database-name $(DBNAME) \
      --file-path /code/sql/db-schema-update.sql

Satır içi SQL betiğini kullanma

Aşağıdaki örnekte komutunu kullanarak execute satır içi SQL betiğinin nasıl çalıştırılacakları gösterilmektedir.

- task: AzureCLI@2
  displayName: Azure CLI
  inputs:
    azureSubscription: <Name of the Azure Resource Manager service connection>
    scriptLocation: inlineScript
    arguments:
      -SERVERNAME mydemoserver `
      -DBNAME pollsdb `
      -DBUSER pollsdbuser`
      -DBPASSWORD pollsdbpassword
      -INLINESCRIPT 
    inlineScript: |
      az login --allow-no-subscription
      az mysql flexible-server execute --name $(SERVERNAME) \
      --admin-user $(DBUSER) --admin-password '$(DBPASSWORD)' \
      --database-name $(DBNAME) \
      --query-text "UPDATE items SET items.retail = items.retail * 0.9 WHERE items.id =100;" 

Görev girişleri

Azure Pipelines ile Azure CLI görevini kullanırken tüm görev girişlerinin tam listesini görebilirsiniz.

Parametre Açıklama
azureSubscription (Gerekli) Dağıtım için Azure Resource Manager aboneliğini sağlayın. Bu parametre yalnızca seçilen görev sürümü 0.* olduğunda gösterilir. Azure CLI görevi v1.0 yalnızca Azure Resource Manager aboneliklerini destekler.
scriptType (Gerekli) Betiğin türünü sağlayın. Desteklenen betikler PowerShell, PowerShell Core, Bat, Shell ve betiktir. Linux aracısı üzerinde çalışırken aşağıdakilerden birini seçin: bash veya pscore . Windows aracısını çalıştırırken aşağıdakilerden birini seçin: batch,ps ve pscore.
scriptLocation (Gerekli) Betiğin yolunu (örneğin, gerçek dosya yolu) sağlayın veya betikleri satır içi olarak sağlarken kullanın Inline script . Varsayılan değer şudur: scriptPath.
scriptPath (Gerekli) Betiğin tam yolu (.ps1 veya .bat ya da Windows tabanlı aracı kullanırken veya Linux tabanlı aracı .ps1 kullanırken .cmd .sh ) veya varsayılan çalışma dizinine göre bir yol.
inlineScript (Gerekli) Betiklerinizi satır içinde buraya yazabilirsiniz. Windows aracısını kullanırken PowerShell veya PowerShell Core ya da toplu komut dosyası kullanırken, Linux tabanlı aracıları kullanırken PowerShell Core veya kabuk betiği kullanın. Toplu iş dosyaları için her Azure komutundan önce "call" ön ekini kullanın. Ayrıca, bağımsız değişkenleri kullanarak bu betikte önceden tanımlanmış ve özel değişkenler geçirebilirsiniz.
PowerShell/PowerShellCore/shell örneği: az --version az account show
Toplu iş örneği: call az --version call az account show.
Bağımsız değişken (İsteğe bağlı) Betike geçirilen tüm bağımsız değişkenleri sağlayın. Örnekler -SERVERNAME mydemoserveriçin.
powerShellErrorActionPreference (İsteğe bağlı) PowerShell/PowerShell Core betiğinizin en üstüne $ErrorActionPreference = 'DEĞER' satırını ekler. Varsayılan değer stop değeridir. Desteklenen değerler stop, continue ve silentlyContinue değerleridir.
addSpnToEnvironment (İsteğe bağlı) Seçtiğiniz Azure uç noktasının hizmet sorumlusu kimliğini ve anahtarını betiğin yürütme ortamına ekler. Betiğinizde şu değişkenleri kullanabilirsiniz: $env:servicePrincipalId, $env:servicePrincipalKey ve $env:tenantId . Bu, yalnızca Azure uç noktasının Hizmet Sorumlusu kimlik doğrulama düzeni olduğunda kabul edilir. Varsayılan değer olarak yanlış kullanılır.
useGlobalConfig (İsteğe bağlı) Bu yanlışsa, bu görev kendi ayrı Azure CLI yapılandırma dizinini kullanır. Bu, Azure CLI görevlerini paralel sürümlerde çalıştırmak için kullanılabilir"
Varsayılan değer: false
workingDirectory (İsteğe bağlı) Betiğin çalıştırıldığı geçerli çalışma dizini. Boş, deponun (derleme) veya yapıtların (yayın) köküdür ve $(System.DefaultWorkingDirectory).
failOnStandardError (İsteğe bağlı) Bu doğruysa, herhangi bir hata StandardError akışına yazıldığında bu görev başarısız olur. Standart hataları yoksaymak için onay kutusunun seçimini kaldırın ve durumu belirlemek için çıkış kodlarını kullanın. Varsayılan değer olarak yanlış kullanılır.
powerShellIgnoreLASTEXITCODE (İsteğe bağlı) Bu false ise, satır if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } betiğinizin sonuna eklenir. Bu, bir dış komuttan son çıkış kodunun PowerShell'in çıkış kodu olarak yayılmasına neden olur. Aksi takdirde, satır betiğinizin sonuna eklenmez. Varsayılan değer olarak yanlış kullanılır.

CLI Görevi ile ilgili sorunlar yaşıyorken Derleme ve Yayın sorunlarını giderme konusuna bakın.

Sonraki adımlar

Aşağıda Azure'a dağıtılacak bazı ilgili görevler verilmiştir.