Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Pipelines kullanarak her başarılı derlemeden sonra veritabanı güncelleştirmelerinizi PostgreSQL için Azure Veri Tabanı esnek sunucunuza otomatik olarak dağıtabilirsiniz. Veritabanını, bir SQL dosyası ya da veritabanında çalıştırılan satır içi bir SQL betiği kullanarak güncelleştirmek için Azure CLI görevini kullanın. Bu görevi Linux, macOS veya Windows işletim sistemlerinde çalışan platformlar arası aracılarda çalıştırın.
Önkoşullar
- Bir Azure hesabı. Azure hesabınız yoksa ücretsiz bir deneme hesabı edinin.
- Azure hesabınıza Azure Resource Manager hizmeti bağlantısı .
- 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.
- PostgreSQL için Azure Veritabanı oluşturma.
SQL dosyasını kullanma
Aşağıdaki örnek, veritabanı bağımsız değişkenlerinin nasıl iletileceğini ve execute komutunun nasıl çalıştırılacağını göstermektedir.
- task: AzureCLI@2
displayName: Azure CLI
inputs:
azureSubscription: <Name of the Azure Resource Manager service connection>
scriptType: 'pscore'
scriptLocation: inlineScript
arguments:
-SERVERNAME mydemoserver `
-DBNAME pollsdb `
-DBUSER pollsdbuser`
-DBPASSWORD pollsdbpassword
inlineScript: |
az login --allow-no-subscription
az postgres 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 örnek, satır içi SQL betiğinin execute komutu kullanılarak nasıl çalıştırılacağını göstermektedir.
- task: AzureCLI@2
displayName: Azure CLI
inputs:
azureSubscription: <Name of the Azure Resource Manager service connection>
scriptType: 'pscore'
scriptLocation: inlineScript
arguments:
-SERVERNAME mydemoserver `
-DBNAME pollsdb `
-DBUSER pollsdbuser`
-DBPASSWORD pollsdbpassword
-INLINESCRIPT
inlineScript: |
az login --allow-no-subscription
az postgres flexible-server execute --name $(SERVERNAME) --admin-user $(DBUSER) \
--admin-password '$(DBPASSWORD)' --database-name $(DBNAME) \
--querytext "UPDATE items SET items.retail = items.retail * 0.9 WHERE items.id =100;"
Görev girdileri
Azure Pipelines ile Azure CLI görevini kullanırken tüm görev girişlerinin tam listesini görebilirsiniz.
| Parametre | Description |
|---|---|
| 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ü belirtin. 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, psve pscore. |
| scriptLocation | (Gerekli) Komut dosyasının yolunu belirtin; örneğin gerçek bir dosya yolu girin ya da komut dosyalarını satır içi sağlıyorsanız Inline script kullanın. Varsayılan değer şudur: scriptPath. |
| scriptPath | (Gerekli) Betiğin tam nitelikli yolu (Windows tabanlı aracı kullanırken .ps1, .bat veya .cmd; aksi takdirde Linux tabanlı aracı kullanırken .ps1 ya da .sh ) ya da varsayılan çalışma dizinine göreli bir yol. |
| inlineScript | (Gerekli) Betiklerinizi burada satır içi olarak yazabilirsiniz. Windows aracısını kullanırken PowerShell, PowerShell Core veya toplu komut dosyası kullanın; Linux tabanlı aracıları kullanırken ise PowerShell Core veya kabuk komut dosyası kullanın. Toplu iş dosyaları için her Azure komutundan önce "call" ön ekini kullanın. Ayrıca, önceden tanımlanmış ve özel değişkenleri bu betiğe argümanlar kullanarak da iletebilirsiniz. PowerShell/PowerShellCore/shell örneği: az --version az account show Toplu işlem örneği: call az --version call az account show. |
| arguments | (İsteğe bağlı) Betiğe geçirilen tüm bağımsız değişkenleri belirtin. Örnekler için -SERVERNAME mydemoserver. |
| 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ı Hizmet Asıl kimlik doğrulama şemasına sahip olduğunda geçerlidir. Varsayılan değer yanlıştı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 |
| çalışmaDizini | (İsteğe bağlı) Betiğin çalıştırıldığı geçerli çalışma dizini. Boş değer, deponun (derleme) veya artefaktların (sürüm) köküdür; bu da $(System.DefaultWorkingDirectory) dizinidir. |
| failOnStandardError | (İsteğe bağlı) Bu doğruysa, hatalar StandardError akışına yazıldığında bu görev başarısız olur. Standart hataları yok saymak ve durumu çıkış kodlarına dayanarak belirlemek için onay kutusunun işaretini kaldırın. Varsayılan değer yanlıştır. |
| powerShellIgnoreLASTEXITCODE | (İsteğe bağlı) Bunun değeri false ise, if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } satırı 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 yanlıştır. |
CLI Görevi'nde sorun yaşıyorsanız, Derleme ve Sürüm sorunlarının nasıl giderileceğine bakın.