本文演示Sitecore XP Single(XP0)在Azure上的一鍵部署,即“30分鐘生成Sitecore演示環境”的一環。
關於XP(即Sitecore Experience Platform) roles的相關介紹移步
XP Single配置主要用來開發和測試:
Four Sitecore roles: Content Delivery, Content Management, Processing, and Reporting as a single WebApp instance.(cd,cm,Processing,Reporting作為一個web應用例項)
All XP roles: Search, Collection, Reference Data, Sitecore Cortex Processing, Sitecore Cortex Reporting, Marketing Automation, and Marketing Automation Reporting as a single WebApp instance.(其它所有功能作為一個應用例項)
本文使用的Sitecore版本為:Sitecore Experience Platform 10.1 Update-2
為什麼使用這個版本?主要考慮使用Azure PaaS的全部功能,無需額外配置。如果使用Sitecore 10.2+以上,則需要額外搭建Solr服務,參照 Azure Search compatibility table
即使用8.2-10.1版本,是可以使用Azure Search代替Solr服務的。這裡方便利用Azure雲資源直接一鍵配置,無需做額外的動作。故使用Sitecore 10.1-Update-2來演示。
本地作業系統為Windows11專業版。
準備工作
1,Azure Portal賬號一個,沒有的話可以使用國際信用卡註冊;
2,本地PowerShell ISE安裝Azure模組;
3,Microsoft Azure Storage Explorer
4,Sitecore license檔案
下載
1,下載 Sitecore Experience Platform 10.1 Update-2
開啟下載頁定位到 Download options for Azure AppService
下載 Packages for XP Single ,即XP0。解壓得到3個壓縮包:
2,下載 Sitecore Identity
選擇 Sitecore Identity 7.0.326 ,
下載WDP installation package. 解壓得到1個壓縮包:
開啟Microsoft Azure Storage Explorer,上傳上面4個壓縮包到Azure Blob
上傳完畢後,分別點選每一個資源,滑鼠右鍵,獲取共享訪問簽名 -- 讀取(許可權) -- 建立 -- 複製資源的URL備用,上面4個資源都要複製。
3,下載Sitecore Azure Toolkit ,選擇 Sitecore Azure Toolkit 2.8.0
下載後解壓得到:
4,下載Sitecore Azure Resource Manager (ARM) template,解壓後得到:
生成authentication certificate
以管理員身份執行Windows PowerShell ISE,輸入以下程式碼並執行:
#Create a self-signed certificate. $thumbprint = (New-SelfSignedCertificate ` -Subject "CN=$env:COMPUTERNAME @ Sitecore, Inc." ` -Type SSLServerAuthentication ` -FriendlyName "$env:USERNAME Certificate").Thumbprint $certificateFilePath = "D:\Workspace\$thumbprint.pfx" Export-PfxCertificate ` -cert cert:\LocalMachine\MY\$thumbprint ` -FilePath "$certificateFilePath" ` -Password (Read-Host -Prompt "Enter password that would protect the certificate" -AsSecureString)
編輯azuredeploy.parameters.json
編輯ARM template中的azuredeploy.parameters.json檔案
如上圖所示,黃色框部分先留空即可。 其它key說明如下:
Key | Description |
location | 雲資源所在的地理位置,比如填:East Asia,代表東亞 |
sitecoreAdminPassword | Sitecore Admin賬戶的密碼 |
sqlServerLogin
|
雲生成SQL資料庫後的SQL賬號 |
sqlServerPassword
|
雲生成SQL資料庫後的SQL密碼 |
siMsDeployPackageUrl
|
下載章節中的IdentityServer的完整URL |
singleMsDeployPackageUrl
|
下載章節中的single.scwdp完整URL |
xcSingleMsDeployPackageUrl
|
下載章節中的xp0xconnect.scwdp.zip完整URL |
authCertificatePassword
|
生成authentication certificate章節中輸入的密碼 |
"allowInvalidClientCertificates": { "value": true }
執行指令碼
以管理員身份開啟Windows PowerShell ISE,
沒有安裝Azure模組的先安裝Azure模組,移步Install Azure PowerShell on Windows
指令碼程式碼:
#Azure一鍵部署Sitecore xp0(xp single)開發/測試/演示環境 $SCSDK="D:\Workspace\Sitecore Azure Toolkit 2.8.0-r02542.1366\tools" $SCTemplates="https://raw.githubusercontent.com/Sitecore/Sitecore-Azure-Quickstart-Templates/master/Sitecore%2010.1.1/XPSingle" $DeploymentId = "demo-sitecore1011" $ResourceGroup = "demo-sitecore1011" $LicenseFile = "你的本地license檔案路徑" $CertificateFile = "D:\Workspace\93F2CA3845DB2577A005BCA0CEE48B8951694F1F.pfx(生成authentication certificate章節生成的檔案)" $SubscriptionId = "Azure訂閱ID(SubscriptionID)" $Location="East Asia" $ParamFile="D:\Workspace\Sitecore-Azure-Quickstart-Templates-2.13.0\Sitecore 10.1.1\XPSingle\azuredeploy.parameters.json" $Parameters = @{ "deploymentId"=$DeploymentId; "authCertificateBlob" = [System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes($CertificateFile)) } Import-Module $SCSDK\Sitecore.Cloud.Cmdlets.psm1 Connect-AzAccount Set-AzContext -SubscriptionId $SubscriptionId Start-SitecoreAzureDeployment -Name $ResourceGroup -Location $Location -ArmTemplateUrl "$SCTemplates/azuredeploy.json" -ArmParametersPath $ParamFile -LicenseXmlPath $LicenseFile -SetKeyValue $Parameters -Verbose
直接執行,執行後的輸出資訊如下:
執行完畢大概需要35分鐘左右:
執行完畢後開啟Azure資源頁面:
找到demo-sitecore1011-single APP Service(Azure APP Service)
單擊 預設域 的連結
開啟了Sitecore歡迎頁,即表明成功!
在此連結後輸入 /sitecore 進入管理後臺:
使用者名稱輸入admin
密碼輸入azuredeploy.parameters.json檔案中
進入管理後臺,驗證Sitecore版本為: