This shows a general approach to easing the human-error potential in step 3 and 4 covered at http://commercesdn.sitecore.net/SitecoreCommerce/DeploymentGuide/en-us/index.html#Concepts/c_M_ChangesToDefaultSettings.html
<# | |
Author: Grant Killian | |
Created Date: Sept 1, 2017 | |
Ease the human-error potential in step 3 and 4 covered at http://commercesdn.sitecore.net/SitecoreCommerce/DeploymentGuide/en-us/index.html#Concepts/c_M_ChangesToDefaultSettings.html | |
For repetitive installs, it's a pattern that can be used to update a site name etc, too. Here I focus on the SQL Server and Sitecore credentials but other settings could be updated too (just be certain you have the right pattern to match/replace). | |
#> | |
$dbServer ="your db server" #for Azure SQL, something like "qa2-proj-sql.database.windows.net,1433" is what you'd use | |
$dbuser ="SQLuser" | |
$dbpwd = "secret" | |
$CFSolutionStorefrontSite_profilesName = "CFSolutionStorefrontSite_profilesRenamed" | |
$CFSolutionStorefrontSite_productcatalogName = "CFSolutionStorefrontSite_productcatalogRenamed" | |
$SitecoreCommerce_SharedEnvironmentsName = "SitecoreCommerce_SharedEnvironmentsRenamed" | |
$SitecoreCommerce_GlobalName = "SitecoreCommerce_GlobalRenamed" | |
$scuser = "admin" | |
$scpwd = "secret" | |
$theRoot = "S:\Sitecore" | |
########################### shouldn't have to touch anything below here ########################### | |
function updateEnvJSONFile($theFile) | |
{ | |
#in all of these, the white space is critical and note there are 2 spaces between the ":" and the value, typically | |
$original="`"UserName`": `"`"," # $key here that it's a "blank" pwd as there is a sitecore username here too that is not the same value | |
$updated="`"UserName`": `"$dbuser`"," | |
(Get-Content "$theFile").Replace($original, $updated) | Set-Content "$theFile.new" | |
$original="`"Password`": `"`"," | |
$updated="`"Password`": `"$dbpwd`"," | |
(Get-Content "$theFile.new").Replace($original, $updated) | Set-Content "$theFile.new" | |
$original="`"Server`": `".`"," | |
$updated="`"Server`": `"$dbServer`"," | |
(Get-Content "$theFile.new").Replace($original, $updated) | Set-Content "$theFile.new" | |
$original="`"TrustedConnection`": true," | |
$updated="`"TrustedConnection`": false," | |
(Get-Content "$theFile.new").Replace($original, $updated) | Set-Content "$theFile.new" | |
$original="`"UserName`": `"admin`"," | |
$updated="`"UserName`": `"$scuser`"," | |
(Get-Content "$theFile.new").Replace($original, $updated) | Set-Content "$theFile.new" | |
$original="`"Password`": `"b`"" | |
$updated="`"Password`": `"$scpwd`"" | |
(Get-Content "$theFile.new").Replace($original, $updated) | Set-Content "$theFile.new" | |
<# every json file references these three databases by name only: | |
"Database": "CFSolutionStorefrontSite_profiles", | |
"Database": "SitecoreCommerce_SharedEnvironments", | |
"Database": "CFSolutionStorefrontSite_productcatalog", | |
#> | |
$original="`"Database`": `"CFSolutionStorefrontSite_profiles`"," | |
$updated ="`"Database`": `"$CFSolutionStorefrontSite_profilesName`"," | |
(Get-Content "$theFile.new").Replace($original, $updated) | Set-Content "$theFile.new" | |
$original="`"Database`": `"SitecoreCommerce_SharedEnvironments`"," | |
$updated ="`"Database`": `"$SitecoreCommerce_SharedEnvironmentsName`"," | |
(Get-Content "$theFile.new").Replace($original, $updated) | Set-Content "$theFile.new" | |
$original="`"Database`": `"CFSolutionStorefrontSite_productcatalog`"," | |
$updated ="`"Database`": `"$CFSolutionStorefrontSite_productcatalogName`"," | |
(Get-Content "$theFile.new").Replace($original, $updated) | Set-Content "$theFile.new" | |
} | |
function updateGlobalFile() | |
{ | |
$jsonGlobal = "$theRoot\CommerceAuthoring\wwwroot\bootstrap\Global.json" | |
$original="`"Database`": `"SitecoreCommerce_Global`"," | |
$updated="`"Database`": `"$SitecoreCommerce_GlobalName`"," | |
(Get-Content $jsonGlobal).Replace($original, $updated) | Set-Content "$jsonGlobal.new" | |
$original="`"Password`": `"`"," | |
$updated="`"Password`": `"$dbpwd`"," | |
(Get-Content "$jsonGlobal.new").Replace($original, $updated) | Set-Content "$jsonGlobal.new" | |
$original="`"Server`": `"`.`"," | |
$updated="`"Server`": `"$dbServer`"," | |
(Get-Content "$jsonGlobal.new").Replace($original, $updated) | Set-Content "$jsonGlobal.new" | |
$original="`"UserName`": `"`"," | |
$updated="`"UserName`": `"$dbuser`"," | |
(Get-Content "$jsonGlobal.new").Replace($original, $updated) | Set-Content "$jsonGlobal.new" | |
$original="`"TrustedConnection`": true," | |
$updated="`"TrustedConnection`": false," | |
(Get-Content "$jsonGlobal.new").Replace($original, $updated) | Set-Content "$jsonGlobal.new" | |
} | |
$json1 = "$theRoot\CommerceAuthoring\wwwroot\data\Environments\PlugIn.AdventureWorks.CommerceAuthoring-1.0.0.json" | |
$json2 = "$theRoot\CommerceAuthoring\wwwroot\data\Environments\PlugIn.AdventureWorks.CommerceMinions-1.0.0.json" | |
$json3 = "$theRoot\CommerceAuthoring\wwwroot\data\Environments\PlugIn.AdventureWorks.CommerceShops-1.0.0.json" | |
$json4 = "$theRoot\CommerceAuthoring\wwwroot\data\Environments\PlugIn.Habitat.CommerceAuthoring-1.0.0.json" | |
$json5 = "$theRoot\CommerceAuthoring\wwwroot\data\Environments\PlugIn.Habitat.CommerceMinions-1.0.0.json" | |
$json6 = "$theRoot\CommerceAuthoring\wwwroot\data\Environments\PlugIn.Habitat.CommerceShops-1.0.0.json" | |
updateGlobalFile | |
updateEnvJSONFile $json1 | |
updateEnvJSONFile $json2 | |
updateEnvJSONFile $json3 | |
updateEnvJSONFile $json4 | |
updateEnvJSONFile $json5 | |
updateEnvJSONFile $json6 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment