Sitecore-Instance-Manager
Sitecore-Instance-Manager copied to clipboard
Start SIM with a command-line manifest file
The point of this is to allow projects to simply store a manifest file describing the instance name, sitecore version, modules etc. to install. When setting up a fresh developer machine on the project, the manifest is retrieved with the source code and when double clicking the manifest file (e.g. extension .sim) would bring up SIM and automatically set up the instance for the project (with all the right versions and modules).
It is planned for 2.0, it is not easy to make it with current implementation. It should be, however, easy to implement in SIM CMD, but it is very old and out of date.
Proposed manifest format. @Eldblom any comments?
{
"Version": "1.4",
"Parameters": {
"rootFolderPath": "The root folder for the installation. For example: C:\\inetpub\\wwwroot\\cms",
"instanceNamePrefix": "Instance name prefix that will be used for creating web farm.For example:\r\nHaving instanceNamePrefix = cms, after installation following instances will be created:\r\n1. http://cms-cm1\r\n2. http://cms-cm2\r\n3. http://cms-pub\r\n4. http://cms-cd1\r\nhttp://cms-cd2"
},
"Properties": {
"platform": "8.0 rev. 150529"
},
"Instances": [
{
"Type": "Databases",
"Path": "$(rootFolderPath)-databases",
"Properties": {
"databases": {
"core": "Sitecore.Core.MDF",
"master": "Sitecore.Master.MDF",
"web": "Sitecore.Web.MDF",
"live": "Sitecore.Web.MDF"
}
}
},
{
"Type": "Node",
"Path": "$(rootFolderPath)-cm1-www",
"Properties": {
"dataFolder": "$(rootFolderPath)-cm1-data",
"bindings": [
"http://{instanceNamePrefix)-cm1:80"
],
"connectionStrings": [
"core",
"master",
"web"
]
}
},
{
"Type": "Node",
"Path": "$(rootFolderPath)-cm2-www",
"Properties": {
"dataFolder": "$(rootFolderPath)-cm2-data",
"bindings": [
"http://{instanceNamePrefix)-cm2:80"
],
"connectionStrings": [
"core",
"master",
"web"
]
}
},
{
"Type": "Node",
"Path": "$(rootFolderPath)-pub-www",
"Properties": {
"dataFolder": "$(rootFolderPath)-pub-data",
"bindings": [
"http://{instanceNamePrefix)-pub:80"
],
"connectionStrings": [
"core",
"master",
"web",
"live"
]
}
},
{
"Type": "Node",
"Path": "$(rootFolderPath)-cd1-www",
"Properties": {
"dataFolder": "$(rootFolderPath)-cd1-data",
"bindings": [
"http://{instanceNamePrefix)-cd1:80"
],
"connectionStrings": [
"core",
"live"
]
}
},
{
"Type": "Node",
"Path": "$(rootFolderPath)-cd2-www",
"Properties": {
"dataFolder": "$(rootFolderPath)-cd2-data",
"bindings": [
"http://{instanceNamePrefix)-cd2:80"
],
"connectionStrings": [
"core",
"live"
]
}
}
]
}
Look pretty straight forward, although ideally the manifest should cover the full capabilities of the tool (modules etc). Also, some of the settings could be left out as they should be picked up from the SIM tool settings, e.g. the manifest should not contain the location of the website and databases as this is up to the local machine settings - although it should be able to override the machine settings.
On 21 Sep 2015, at 3:43 PM, Alen Pelin [email protected] wrote:
Proposed manifest format. @Eldblom any comments?
{ "Version": "1.4", "Parameters": { "rootFolderPath": "The root folder for the installation. For example: C:\inetpub\wwwroot\cms", "instanceNamePrefix": "Instance name prefix that will be used for creating web farm.For example:\r\nHaving instanceNamePrefix as "cms", after installation following instances will be created:\r\n1. http://cms-cm1\r\n2. http://cms-cm2\r\n3. http://cms-pub\r\n4. http://cms-cd1\r\nhttp://cms-cd2 }, "Properties": { "platform": "8.0 rev. 150529" } "Instances": [ { "Type": "Databases", "Path": "{rootFolderPath}-databases", "Properties": { "databases": { "core": "Sitecore.Core.MDF", "master": "Sitecore.Master.MDF", "web": "Sitecore.Web.MDF", "live": "Sitecore.Web.MDF" } } }, { "Type": "Node" "Path": "{rootFolderPath}-cm1-www", "Properties": { "dataFolder": "{rootFolderPath}-cm1-data", "bindings": [ "http://{instanceNamePrefix}-cm1:80" ], "connectionStrings": [ "core", "master", "web" ] } }, { "Type": "Node" "Path": "{rootFolderPath}-cm2-www", "Properties": { "dataFolder": "{rootFolderPath}-cm2-data", "bindings": [ "http://{instanceNamePrefix}-cm2:80" ], "connectionStrings": [ "core", "master", "web" ] } }, { "Type": "Node" "Path": "{rootFolderPath}-pub-www", "Properties": { "dataFolder": "{rootFolderPath}-pub-data", "bindings": [ "http://{instanceNamePrefix}-pub:80" ], "connectionStrings": [ "core", "master", "web", "live" ] } }, { "Type": "Node" "Path": "{rootFolderPath}-cd1-www", "Properties": { "dataFolder": "{rootFolderPath}-cd1-data", "bindings": [ "http://{instanceNamePrefix}-cd1:80" ], "connectionStrings": [ "core", "live" ]
} }, { "Type": "Node" "Path": "{rootFolderPath}-cd2-www", "Properties": { "dataFolder": "{rootFolderPath}-cd2-data", "bindings": [ "http://{instanceNamePrefix}-cd2:80" ], "connectionStrings": [ "core", "live" ] } } ] } — Reply to this email directly or view it on GitHub.
Is this worth working on now or is 2.0 close enough to make this wasted effort?
Unfortunately SIM 2.0 development was stopped due to be replaced by SIF.
I do not recommend to develop new features to SIM as it is in sustained state.