Azure SQL Veritabanı dağıtım görevi
| Bağımsız Değişken | Description |
|---|---|
ConnectedServiceNameSelectorAzure bağlantı türü |
Seçim Bağımsız değişken diğer adı: azureConnectionType Varsayılan değer: ConnectedServiceNameARM |
ConnectedServiceNameAzure klasik aboneliği |
Istenir SQL dosyalarını dağıtmak için klasik Azure aboneliğini hedefleyin Bağımsız değişken diğer adı: azureClassicSubscription |
ConnectedServiceNameARMAzure 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 |
AuthenticationTypeKimlik 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 hesabı bağlamını kullanarak veritabanına eriştiği anlamına gelir. Varsayılan değer: server |
ServerNameAzure 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,1433Fabrikam.database.windows.net. |
DatabaseNameVeritabanı |
Istenir dosyaların dağıtılacağı Azure SQL Veritabanı adı. |
SqlUsernameOturum aç |
(kimlik doğrulaması türü SQL Server kimlik doğrulaması veya Active Directory-parola olduğunda gereklidir) Azure SQL Server yönetici oturum açma veya Active Directory kullanıcı adını belirtin. |
SqlPasswordParola |
(kimlik doğrulama türü SQL Server kimlik doğrulaması veya Active Directory parolası), Azure SQL Server yönetici veya Active Directory kullanıcı için parola olduğunda gereklidir. 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. |
ConnectionStringBağ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. |
TaskNameSelectorDağıtım türü |
Seçim yapıt türünü, SQL dacpac dosyasını SQL betik dosyasını veya satır içi SQL betiği belirtin. Bağımsız değişken diğer adı: deployType Varsayılan değer: DacpacTask |
DeploymentAction Eylem |
Istenir listeden SQL eylemlerden birini seçin. Daha ayrıntılı bilgi için bağlantıyı inceleyin Varsayılan değer: Publish |
DacpacFileDACPAC 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 |
SqlFileSQL 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 betik dosyasının konumu \BudgetIT\Web\Deploy\FabrikamDB.sql . Gibi önceden tanımlanmış sistem değişkenleri $(agent.releaseDirectory) de burada kullanılabilir. |
SqlInlinesatı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ği girin. |
PublishProfileProfili 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. |
AdditionalArgumentsEk 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çili olması gerekir /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. |
SqlAdditionalArgumentsEk Invoke-Sqlcmd bağımsız değişkenleri |
Seçim gibi Azure SQL Veritabanı verilen SQL sorgusunun yürütüldüğü sırada 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ı verilen SQL sorgusunun yürütüldüğü sırada uygulanacak ek Invoke-Sqlcmd bağımsız değişkenleri-ConnectionTimeout 100 -OutputSqlErrors |
IpDetectionMethodKullanarak güvenlik duvarı kuralları belirtme |
Istenir görevin çalışması için, otomasyon aracısının ıp adresinin Azure SQL Server güvenlik duvarında ' izin verilen ıp 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 |
StartIpAddressBaşlangıç IP adresi |
Istenir 196.21.30.50 gibi Otomasyon aracısı makine havuzunun başlangıç IP adresi. |
EndIpAddressBitiş IP adresi |
Istenir 196.21.30.65 gibi Otomasyon aracısı makine havuzunun bitiş IP adresi. |
DeleteFirewallRuleGörev bittikten sonra kuralı Sil |
Seçim seçilirse, görev bittikten sonra, burada belirtilen ıp adresleri Azure SQL Server güvenlik duvarının ' izin verilen ıp adresleri ' listesinden silinir. |
Açık kaynak
Bu görev GitHubaçık kaynağıdır. Geribildirim ve katılımlar hoş geldiniz.
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 Windows ortamında desteklenir. Azure Active Directory tümleşik kimlik doğrulamasını kullanmaya çalışıyorsanız bir özel 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