Azure SQL veritabanı dağıtım görevi

Azure Pipelines

Bu görevi, bir DACPAC kullanarak Azure SQL DB 'ye dağıtmak veya SQLCMD kullanarak betikleri çalıştırmak için kullanın.

Önemli

Bu görev yalnızca bir Windows ortamında desteklenir. Azure Active Directory (Azure AD) tümleşik kimlik doğrulaması kullanmaya çalışıyorsanız, özel bir aracı oluşturmanız gerekir. Azure AD Tümleşik kimlik doğrulaması barındırılan aracılar için desteklenmez.

YAML kod parçacığı

# Azure SQL Database deployment
# Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD
- task: SqlAzureDacpacDeployment@1
  inputs:
    #azureConnectionType: 'ConnectedServiceNameARM' # Optional. Options: connectedServiceName, connectedServiceNameARM
    #azureClassicSubscription: # Required when azureConnectionType == ConnectedServiceName
    #azureSubscription: # Required when azureConnectionType == ConnectedServiceNameARM
    #authenticationType: 'server' # Options: server, aadAuthenticationPassword, aadAuthenticationIntegrated, connectionString, servicePrincipal
    #serverName: # Required when authenticationType == Server || AuthenticationType == AadAuthenticationPassword || AuthenticationType == AadAuthenticationIntegrated || AuthenticationType == servicePrincipal
    #databaseName: # Required when authenticationType == Server || AuthenticationType == AadAuthenticationPassword || AuthenticationType == AadAuthenticationIntegrated || AuthenticationType == servicePrincipal
    #sqlUsername: # Required when authenticationType == Server
    #sqlPassword: # Required when authenticationType == Server
    #aadSqlUsername: # Required when authenticationType == AadAuthenticationPassword
    #aadSqlPassword: # Required when authenticationType == AadAuthenticationPassword
    #connectionString: # Required when authenticationType == ConnectionString
    #deployType: 'DacpacTask' # Options: dacpacTask, sqlTask, inlineSqlTask
    #deploymentAction: 'Publish' # Required when deployType == DacpacTask. Options: publish, extract, export, import, script, driftReport, deployReport
    #dacpacFile: # Required when deploymentAction == Publish || DeploymentAction == Script || DeploymentAction == DeployReport
    #bacpacFile: # Required when deploymentAction == Import
    #sqlFile: # Required when deployType == SqlTask
    #sqlInline: # Required when deployType == InlineSqlTask
    #publishProfile: # Optional
    #additionalArguments: # Optional
    #sqlAdditionalArguments: # Optional
    #inlineAdditionalArguments: # Optional
    #ipDetectionMethod: 'AutoDetect' # Options: autoDetect, iPAddressRange
    #startIpAddress: # Required when ipDetectionMethod == IPAddressRange
    #endIpAddress: # Required when ipDetectionMethod == IPAddressRange
    #deleteFirewallRule: true # Optional

Bağımsız değişkenler

Bağımsız Değişken Description
ConnectedServiceNameSelector
Azure bağlantı türü
Seçim Bağımsız değişken diğer adı: azureConnectionType
Varsayılan değer: ConnectedServiceNameARM
ConnectedServiceName
Azure klasik aboneliği
Istenir SQL dosyaları dağıtmak için klasik Azure aboneliğini hedefleyin
Bağımsız değişken diğer adı: azureClassicSubscription
ConnectedServiceNameARM
Azure Aboneliği
Istenir SQL dosyalarını dağıtmak için hedef Azure Resource Manager aboneliği
Bağımsız değişken diğer adı: azureSubscription
AuthenticationType
Kimlik Doğrulama Türü
Istenir Veritabanı kimlik doğrulamasının türü SQL Server kimlik doğrulaması, Active Directory tümleşik, Active Directory-parola, bağlantı dizesi veya hizmet sorumlusu olabilir. Tümleşik kimlik doğrulaması, aracının geçerli Active Directory hesap bağlamını kullanarak veritabanına erişemeyeceği anlamına gelir.
Varsayılan değer: server
ServerName
Azure SQL Sunucusu
(Kimlik doğrulama türünün bağlantı dizesi olması dışında gereklidir) Azure SQL Server adı (veya gibi) Fabrikam.database.windows.net,1433``Fabrikam.database.windows.net.
DatabaseName
Veritabanı
Istenir Dosyaların dağıtılacağı Azure SQL veritabanının adı.
SqlUsername
Oturum aç
(Kimlik doğrulama türü SQL Server kimlik doğrulaması veya Active Directory-parola olduğunda gereklidir) Azure SQL Server yönetici oturum açma bilgilerini veya Active Directory Kullanıcı adını belirtin.
SqlPassword
Parola
(Kimlik doğrulama türü SQL Server kimlik doğrulaması veya Active Directory-parola olduğunda gereklidir) Azure SQL Server yönetici veya Active Directory Kullanıcı için parola. Derleme/yayın işlem hatları ' $ (passwordVariable) ' olarak tanımlanan değişkenleri kabul edebilir. Değişken türünü güvenli hale getirmek için ' gizli ' olarak işaretleyebilirsiniz.
ConnectionString
Bağlantı Dizesi
(Kimlik doğrulama türü bağlantı dizesi olduğunda gereklidir) Azure SQL Server için kimlik doğrulama bilgileri de dahil olmak üzere bağlantı dizesi.
TaskNameSelector
Dağıtım türü
Seçim Yapıt, SQL DACPAC dosyası, SQL betik dosyası veya satır Içi SQL betiği türünü belirtin.
Bağımsız değişken diğer adı: deployType
Varsayılan değer: DacpacTask
DeploymentAction
Eylem
Istenir Listeden SQL eylemlerinden birini seçin.
  • Yayımla, Ayıkla, dışarı aktar, Içeri aktar, betiği, DRT raporu, rapor dağıt.
    Daha ayrıntılı bilgi için bağlantıyı inceleyin
    Varsayılan değer: Publish
  • DacpacFile
    DACPAC dosyası
    (Dağıtım türü SQL DACPAC dosyası olduğunda gereklidir) Otomasyon aracısında veya gibi Otomasyon aracısına erişilebilen bir UNC yolundaki DACPAC dosyasının konumu \BudgetIT\Web\Deploy\FabrikamDB.dacpac . Gibi önceden tanımlanmış sistem değişkenleri $(agent.releaseDirectory) de burada kullanılabilir.
    BacpacFile
    BACPAC dosyası
    Istenir Otomasyon aracısında veya gibi Otomasyon aracısına erişilebilen bir UNC yolundaki BACPAC dosyasının konumu \BudgetIT\Web\Deploy\FabrikamDB.bacpac . Gibi önceden tanımlanmış sistem değişkenleri $(agent.releaseDirectory) burada da kullanılabilir
    SqlFile
    SQL betiği
    (Dağıtım türü SQL betik dosyası olduğunda gereklidir) Otomasyon aracısında veya gibi Otomasyon aracısına erişilebilen bir UNC yolundaki SQL komut dosyasının konumu \BudgetIT\Web\Deploy\FabrikamDB.sql . Gibi önceden tanımlanmış sistem değişkenleri $(agent.releaseDirectory) de burada kullanılabilir.
    SqlInline
    Satır içi SQL betiği
    (Dağıtım türü satır Içi SQL betiği olduğunda gereklidir) Yukarıda seçilen veritabanında yürütülecek SQL betiğini girin.
    PublishProfile
    Profili Yayımla
    Seçim Yayımlama profili, Azure SQL veritabanı oluşturma veya yükseltmeleri üzerinde ayrıntılı denetim sağlar. Aracı makinesindeki veya bir UNC paylaşımındaki yayımlama profili XML dosyasının yolunu belirtin. Yayımlama profili kimlik bilgileri gibi gizli dizileri içeriyorsa, güvenli dosyalar kitaplığına, şifreleme ile güvenli bir şekilde depolandığı konuma yükleyin. Ardından işlem hattının başlangıcında güvenli dosya indir görevini kullanarak işlem hattı çalışırken aracı makineye indirin ve işlem hattı tamamlandığında silin. Bu alanda, veya gibi önceden tanımlanmış sistem değişkenleri $(agent.buildDirectory) $(agent.releaseDirectory) de kullanılabilir.
    AdditionalArguments
    Ek SqlPackage.exe bağımsız değişkenleri
    Seçim Azure SQL veritabanı dağıtıldığında uygulanacak ek SqlPackage.exe bağımsız değişkenleri, örneğin DACPAC seçeneğinin, gibi seçildiği durumdur /p:IgnoreAnsiNulls=True /p:IgnoreComments=True . Bu bağımsız değişkenler, yayımlama profili XML dosyasındaki (sağlanmışsa) ayarları geçersiz kılar.
    SqlAdditionalArguments
    Ek Invoke-Sqlcmd bağımsız değişkenleri
    Seçim Gibi Azure SQL veritabanında verilen SQL sorgusu yürütürken uygulanacak ek Invoke-Sqlcmd bağımsız değişkenleri -ConnectionTimeout 100 -OutputSqlErrors
    InlineAdditionalArguments
    Ek Invoke-Sqlcmd bağımsız değişkenleri
    Seçim Gibi Azure SQL veritabanında verilen SQL sorgusu yürütürken uygulanacak ek Invoke-Sqlcmd bağımsız değişkenleri -ConnectionTimeout 100 -OutputSqlErrors
    IpDetectionMethod
    Kullanarak güvenlik duvarı kuralları belirtme
    Istenir Görevin çalışması için, Otomasyon aracısının IP adresinin Azure SQL Server güvenlik duvarında ' Izin verilen IP adresleri ' öğesine eklenmesi gerekir. Otomatik Algıla ' yı seçerek Otomasyon aracısının olası IP adresi aralığına yönelik güvenlik duvarı özel durumunu otomatik olarak ekleyin veya aralığı açıkça belirtin.
    Varsayılan değer: AutoDetect
    StartIpAddress
    Başlangıç IP adresi
    Istenir 196.21.30.50 gibi Otomasyon aracısı makine havuzunun başlangıç IP adresi.
    EndIpAddress
    Bitiş IP adresi
    Istenir 196.21.30.65 gibi Otomasyon aracısı makine havuzunun bitiş IP adresi.
    DeleteFirewallRule
    Görev bittikten sonra kuralı Sil
    Seçim Seçilirse, görev bittikten sonra, burada belirtilen IP adresleri Azure SQL Server güvenlik duvarının ' Izin verilen IP adresleri ' listesinden silinir.

    Açık kaynak

    Bu görev GitHub 'daaçık kaynaktır. Geribildirim ve katılımlar hoş geldiniz.