Skip to content

Customizing the initialization script

Posted in :

rbatallas

When we work with Docker and Sitecore, especially on a big project, is usual to have a lot of templates, components, and configurations that are serialized but take a lot of time to be ready each time when we up all containers.

So, here are the steps:

  • open the up.ps1 script
  • Add these new parameters
[Parameter(Mandatory = $false)]
[switch]$SkipPopulateSchema,
[Parameter(Mandatory = $false)]
[switch]$SkipRebuildIndexes,
[Parameter(Mandatory = $false)]
[switch]$SkipPushSerialization

once we added these parameters, is time to add the conditions for each action in this way

# Populate Solr managed schemas to avoid errors during item deploy
if (!$SkipPopulateSchema) {
    Write-Host "Populating Solr managed schema..." -ForegroundColor Green
    dotnet sitecore index schema-populate
}

if (!$SkipRebuildIndexes) {
    Write-Host "Rebuilding indexes..." -ForegroundColor Green
    dotnet sitecore index rebuild
}

if (!$SkipPushSerialization) {
    Write-Host "Pushing items to Sitecore..." -ForegroundColor Green
    dotnet sitecore ser push
}

so in this way, we can skip these steps, because when we work on a project with a lot of content usually these processes take a lot of time when we up our local environment.

finally when we call up.ps1 script with these parameters should be like this:

.\up.ps1 -SkipPopulateSchema -SkipRebuildIndexes -SkipPushSerialization

and that’s it.

PD: when you are creating new content, templates, and components for the first time, you will need to serialize your content using the following command:

dotnet sitecore ser pull

because if your run again up.ps1 script without these new parameters, you’ll lose all the stuff created.

Happy Coding!! 😉

Leave a Reply

Your email address will not be published. Required fields are marked *