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
Azure hesabı. Azure hesabınız yoksa ücretsiz bir deneme hesabı edinin.
Microsoft tarafından barındırılan aracılarda Azure CLI önceden yüklenmiş olarak bulunur. Ancak özel aracılar kullanıyorsanız derleme ve yayın aracısını çalıştıran bilgisayarlara Azure CLI yükleyin. Azure CLI'nın yüklü olduğu makinede bir aracı zaten çalışıyorsa, ilgili tüm aşama değişkenlerinin güncelleştirildiğinden emin olmak için aracıyı yeniden başlatın.
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 mydemoserver iç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.