-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Sitecore Bootcamp is a project which is designed to simplify deployment of Sitecore solutions and to make artifact as simple as possible.
Check this article with a lot of screenshots.
Check 3-minute video where the Bootcamp is shown.
There is no universal, simple, easy-to-upgrade and easy-to-use (at the same time) approach of deploying Sitecore application. Sitecore Bootcamp tries to create this way, so please welcome brief description how it does.
Imagine you have simple Sitecore site with a couple of .cshtml files and a few config files. Lets assume that you want to run this solution to see how it looks like.
Prerequisites:
- SQL Express is installed and current Windows user is an administrator
- QA version of SIM is installed, necessary version of Sitecore is available in SIM QA (it is presented in combobox in Install Instance dialog) and NuGet packages are generated (Ribbon -> Home -> Bundled Tools -> Generate NuGet)
With Sitecore Bootcamp, this is very simple:
1. Create an empty Visual Studio solution with single empty web project where mentioned .cshtml and .config files are added to. Delete the web.config file.
2. Open NuGet Console and type:
Install-Package Sitecore.Bootcamp
Install-Package SC.Sitecore.Kernel -Version 8.1.0.151207
3. Press Ctrl+F5
4. Open http://localhost:12345/sitecore
, log in to Content Editor and create necessary items for .cshtml files
5. Perform publish and enjoy working website
Note, in the solution there are no Sitecore out-of-the-box files excepting the Sitecore.Kernel
assembly that is used to define necessary Sitecore version, all the rest files are copied from C:\ProgramData\Sitecore\NuGet
folder or downloaded from http://dl.sitecore.net
.
Imagine you have simple Sitecore site with a couple of .cshtml files and a few config files. Lets assume that you want to deploy this solution to Azure Web Apps, for example.
Prerequisites:
- QA version of SIM is installed, necessary version of Sitecore is available in SIM QA (it is presented in combobox in Install Instance dialog) and NuGet packages are generated (Ribbon -> Home -> Bundled Tools -> Generate NuGet)
With Sitecore Bootcamp, this is very simple:
1. Create an empty Visual Studio solution with single empty web project where mentioned .cshtml and .config files are added to. Delete the web.config file.
2. Open NuGet Console and type:
Install-Package Sitecore.Bootcamp
Install-Package Sitecore.NoSql
Install-Package SC-AsFiles -Version 8.1.0.151207
Remark, Sitecore.NoSQL was added for simplicity, it is not required. You can change ConnectionStrings.config file to update the connection strings to point to real databases hosted somewhere.
3. Publish site using Visual Studio Publishing
4. Open mysitecoresite.azurewebsites.net
and wait a couple of minutes while it is installed
5. Open mysitecoresite.azurewebsites.net/sitecore
, log in to Content Editor and create necessary items for .cshtml files
6. Perform publish and enjoy working website
Note, that in the solution there are no Sitecore out-of-the-box files excepting for assemblies placed in App_Bin folder (as links, so you don't need to include them to the version control system). In addition, these assemblies are not added as references so it does not slow down Visual Studio.
Sitecore.Bootcamp consists of Default.aspx
file and Sitecore.Bootcamp.dll
assembly. After deployment, Sitecore assemblies are not loaded into application pool because they are stored in a different folder, and there are no Sitecore web.config file so no run time error shown. So the only code that runs during loading is Sitecore.Bootcamp
.
During first request, Default.aspx file runs code in Sitecore.Bootcamp.dll
assembly which:
- detects current Sitecore version using
App_Bin/Sitecore.Kernel.dll
- downloads default static files (including configuration files) from
dl.sitecore.net
cloud service - default Sitecore web.config is placed in the root which will cause application pool recycle by the end of the request
- assemblies from App_Bin folder are moved to bin folder
- all
/Web_Config/Include/*.config
files are used to transform web.config the same way as/App_Config/Include/*.config
transform/App_Config/Sitecore.config
file, but due to the nature of ASP.NET the/web.config
file is modified whenWeb_Config/Include/*.config
files arg merged into it and deleted - request ends and application pool restarts, having all necessary Sitecore files to run