Skip to content

Commit 4a4ce05

Browse files
Merge pull request #691 from Sitecore/feature/664_665-Add_ability_to_add_Publishing_Service_and_JSS_to_the_Dockerized_environment
#664 #665 Add support of Publishing Service and JSS in the Dockerized environment
2 parents 21bdd38 + 08f3501 commit 4a4ce05

17 files changed

+793
-274
lines changed

src/SIM.ContainerInstaller/DockerSettings.cs

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,7 @@ public enum Service
3636
public static class DockerSettings
3737
{
3838
public const string SitecoreContainerRegistryHost = "scr.sitecore.com";
39-
public const string SitecoreToolsNamespace = "tools";
4039
public const string SitecoreModuleNamespace = "sxp/modules";
41-
public const string SitecoreToolsImage = "sitecore-docker-tools-assets";
4240
public const string SpeImage = "spe-assets";
4341
public const string SitecoreSpeImage = "sitecore-spe-assets";
4442
public const string SxaXm1Image = "sxa-xm1-assets";
@@ -49,8 +47,15 @@ public static class DockerSettings
4947
public const string SitecoreHorizonAssetsXm1Image = "horizon-integration-xm1-assets";
5048
public const string SitecoreHorizonAssetsXp0Image = "horizon-integration-xp0-assets";
5149
public const string SitecoreHorizonAssetsXp1Image = "horizon-integration-xp1-assets";
50+
public const string JssXm1Image = "jss-xm1-assets";
51+
public const string JssXpImage = "jss-xp1-assets";
52+
public const string SitecoreHeadlessServicesXm1Image = "sitecore-headless-services-xm1-assets";
53+
public const string SitecoreHeadlessServicesXpImage = "sitecore-headless-services-xp1-assets";
54+
public const string SpsImage = "sitecore-sps";
55+
public const string SpsAssetsXm1Image = "sitecore-sps-integration-xm1-assets";
56+
public const string SpsAssetsXp0Image = "sitecore-sps-integration-xp0-assets";
57+
public const string SpsAssetsXp1Image = "sitecore-sps-integration-xp1-assets";
5258

53-
public static string SitecoreToolsImagePath = $"{SitecoreToolsNamespace}/{SitecoreToolsImage}";
5459
public static string SpeImagePath = $"{SitecoreModuleNamespace}/{SpeImage}";
5560
public static string SitecoreSpeImagePath = $"{SitecoreModuleNamespace}/{SitecoreSpeImage}";
5661
public static string SxaXm1ImagePath = $"{SitecoreModuleNamespace}/{SxaXm1Image}";
@@ -61,11 +66,21 @@ public static class DockerSettings
6166
public static string SitecoreHorizonAssetsXm1ImagePath = $"{SitecoreModuleNamespace}/{SitecoreHorizonAssetsXm1Image}";
6267
public static string SitecoreHorizonAssetsXp0ImagePath = $"{SitecoreModuleNamespace}/{SitecoreHorizonAssetsXp0Image}";
6368
public static string SitecoreHorizonAssetsXp1ImagePath = $"{SitecoreModuleNamespace}/{SitecoreHorizonAssetsXp1Image}";
69+
public static string JssXm1ImagePath = $"{SitecoreModuleNamespace}/{JssXm1Image}";
70+
public static string JssXpImagePath = $"{SitecoreModuleNamespace}/{JssXpImage}";
71+
public static string SitecoreHeadlessServicesXm1ImagePath = $"{SitecoreModuleNamespace}/{SitecoreHeadlessServicesXm1Image}";
72+
public static string SitecoreHeadlessServicesXpImagePath = $"{SitecoreModuleNamespace}/{SitecoreHeadlessServicesXpImage}";
73+
public static string SpsImagePath = $"{SitecoreModuleNamespace}/{SpsImage}";
74+
public static string SpsAssetsXm1ImagePath = $"{SitecoreModuleNamespace}/{SpsAssetsXm1Image}";
75+
public static string SpsAssetsXp0ImagePath = $"{SitecoreModuleNamespace}/{SpsAssetsXp0Image}";
76+
public static string SpsAssetsXp1ImagePath = $"{SitecoreModuleNamespace}/{SpsAssetsXp1Image}";
6477

6578
public const string DockerComposeFileName = "docker-compose.yml";
6679
public const string DockerComposeOverrideFileName = "docker-compose.override.yml";
67-
// This value must be the same as in the "SIM.Pipelines.Install.Containers.GenerateEnvironmentData.siteTypes" list.
80+
// These values must be the same as in the "SIM.Pipelines.Install.Containers.GenerateEnvironmentData.siteTypes" list.
6881
public const string HorizonServiceName = "hrz";
82+
public const string SpsMsSqlInitServiceName = "sps-mssql-init";
83+
public const string SpsServiceName = "sps";
6984
// Horizon only works correctly if its, Identity Server and Content Management instances belong to the same site (domain) as mentioned in Horizon Installation Guide.
7085
public const string HostNameTemplate = "{0}.{1}";
7186
public const string HostNameKeyPattern = "([A-Za-z0-9]{1,3})_HOST";

src/SIM.ContainerInstaller/EnvModel.cs

Lines changed: 42 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -178,20 +178,6 @@ public string IdHost
178178
}
179179
}
180180

181-
public const string SitecoreToolsRegistryName = "SITECORE_TOOLS_REGISTRY";
182-
183-
public string SitecoreToolsRegistry
184-
{
185-
get
186-
{
187-
return this[SitecoreToolsRegistryName];
188-
}
189-
set
190-
{
191-
this[SitecoreToolsRegistryName] = value;
192-
}
193-
}
194-
195181
public const string SitecoreModuleRegistryName = "SITECORE_MODULE_REGISTRY";
196182

197183
public string SitecoreModuleRegistry
@@ -206,20 +192,6 @@ public string SitecoreModuleRegistry
206192
}
207193
}
208194

209-
public const string ToolsVersionName = "TOOLS_VERSION";
210-
211-
public string ToolsVersion
212-
{
213-
get
214-
{
215-
return this[ToolsVersionName];
216-
}
217-
set
218-
{
219-
this[ToolsVersionName] = value;
220-
}
221-
}
222-
223195
public const string SpeVersionName = "SPE_VERSION";
224196

225197
public string SpeVersion
@@ -289,6 +261,48 @@ public string HorizonAssetsVersion
289261
this[HorizonAssetsVersionName] = value;
290262
}
291263
}
264+
265+
public const string JssVersionName = "JSS_VERSION";
266+
267+
public string JssVersion
268+
{
269+
get
270+
{
271+
return this[JssVersionName];
272+
}
273+
set
274+
{
275+
this[JssVersionName] = value;
276+
}
277+
}
278+
279+
public const string SpsVersionName = "SPS_VERSION";
280+
281+
public string SpsVersion
282+
{
283+
get
284+
{
285+
return this[SpsVersionName];
286+
}
287+
set
288+
{
289+
this[SpsVersionName] = value;
290+
}
291+
}
292+
293+
public const string SpsAssetsVersionName = "SPS_ASSETS_VERSION";
294+
295+
public string SpsAssetsVersion
296+
{
297+
get
298+
{
299+
return this[SpsAssetsVersionName];
300+
}
301+
set
302+
{
303+
this[SpsAssetsVersionName] = value;
304+
}
305+
}
292306
#endregion
293307

294308
public string this[string Name]

src/SIM.ContainerInstaller/Modules/HorizonYamlFileGeneratorHelper.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,12 @@ public IDictionary<string, string> GetEnvironmentVariables(Service service)
9292
return environmentVariables;
9393
}
9494

95-
public KeyValuePair<YamlNode, YamlNode> GenerateService(IEnumerable<IYamlFileGeneratorHelper> helpers)
95+
public IEnumerable<KeyValuePair<YamlNode, YamlNode>> GenerateServices(int shortVersion, IEnumerable<IYamlFileGeneratorHelper> helpers)
96+
{
97+
yield return GenerateHorizonService(helpers);
98+
}
99+
100+
private KeyValuePair<YamlNode, YamlNode> GenerateHorizonService(IEnumerable<IYamlFileGeneratorHelper> helpers)
96101
{
97102
List<KeyValuePair<YamlNode, YamlNode>> nodes = new List<KeyValuePair<YamlNode, YamlNode>>();
98103

src/SIM.ContainerInstaller/Modules/IYamlFileGeneratorHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ public interface IYamlFileGeneratorHelper
1919

2020
IDictionary<string, string> GetEnvironmentVariables(Service service);
2121

22-
KeyValuePair<YamlNode, YamlNode> GenerateService(IEnumerable<IYamlFileGeneratorHelper> helpers);
22+
IEnumerable<KeyValuePair<YamlNode, YamlNode>> GenerateServices(int shortVersion, IEnumerable<IYamlFileGeneratorHelper> helpers);
2323
}
2424
}
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
using System.Text;
2+
3+
namespace SIM.ContainerInstaller.Modules
4+
{
5+
public class JssDockerfileGeneratorHelper : IDockerfileGeneratorHelper
6+
{
7+
public StringBuilder GenerateCmArgs()
8+
{
9+
return new StringBuilder()
10+
.Append(@"ARG JSS_IMAGE").AppendLine();
11+
}
12+
13+
public StringBuilder GenerateCmFroms()
14+
{
15+
return new StringBuilder()
16+
.Append(@"FROM ${JSS_IMAGE} as jss").AppendLine();
17+
}
18+
19+
public StringBuilder GenerateCmCommands()
20+
{
21+
return new StringBuilder()
22+
.Append(@"# Add JSS module").AppendLine()
23+
.Append(@"COPY --from=jss C:\module\cm\content C:\inetpub\wwwroot").AppendLine()
24+
.Append(@"COPY --from=jss C:\module\tools C:\module\tools").AppendLine()
25+
.Append(@"RUN C:\module\tools\Initialize-Content.ps1 -TargetPath C:\inetpub\wwwroot; `").AppendLine()
26+
.Append(@" Remove-Item -Path C:\module -Recurse -Force;").AppendLine().AppendLine();
27+
}
28+
29+
public StringBuilder GenerateCdArgs()
30+
{
31+
return new StringBuilder().Append(@"ARG JSS_IMAGE").AppendLine();
32+
}
33+
34+
public StringBuilder GenerateCdFroms()
35+
{
36+
return new StringBuilder().Append(@"FROM ${JSS_IMAGE} as jss").AppendLine();
37+
}
38+
39+
public StringBuilder GenerateCdCommands()
40+
{
41+
return new StringBuilder()
42+
.Append(@"# Add JSS module").AppendLine()
43+
.Append(@"COPY --from=jss C:\module\cd\content C:\inetpub\wwwroot").AppendLine()
44+
.Append(@"COPY --from=jss C:\module\tools C:\module\tools").AppendLine()
45+
.Append(@"RUN C:\module\tools\Initialize-Content.ps1 -TargetPath C:\inetpub\wwwroot; `").AppendLine()
46+
.Append(@" Remove-Item -Path C:\module -Recurse -Force;").AppendLine().AppendLine();
47+
}
48+
49+
public StringBuilder GenerateIdArgs()
50+
{
51+
return null;
52+
}
53+
54+
public StringBuilder GenerateIdFroms()
55+
{
56+
return null;
57+
}
58+
59+
public StringBuilder GenerateIdCommands()
60+
{
61+
return null;
62+
}
63+
64+
public StringBuilder GenerateMsSqlArgs()
65+
{
66+
return new StringBuilder()
67+
.Append(@"ARG JSS_IMAGE").AppendLine();
68+
}
69+
70+
public StringBuilder GenerateMsSqlFroms()
71+
{
72+
return new StringBuilder()
73+
.Append(@"FROM ${JSS_IMAGE} as jss").AppendLine();
74+
}
75+
76+
public StringBuilder GenerateMsSqlCommands()
77+
{
78+
return new StringBuilder()
79+
.Append(@"# Add JSS module").AppendLine()
80+
.Append(@"COPY --from=jss C:\module\db C:\jss_data").AppendLine()
81+
.Append(@"RUN C:\DeployDatabases.ps1 -ResourcesDirectory C:\jss_data; `").AppendLine()
82+
.Append(@" Remove-Item -Path C:\jss_data -Recurse -Force;").AppendLine().AppendLine();
83+
}
84+
85+
public StringBuilder GenerateMsSqlInitArgs()
86+
{
87+
return new StringBuilder().Append(@"ARG JSS_IMAGE").AppendLine();
88+
}
89+
90+
public StringBuilder GenerateMsSqlInitFroms()
91+
{
92+
return new StringBuilder().Append(@"FROM ${JSS_IMAGE} as jss").AppendLine();
93+
}
94+
95+
public StringBuilder GenerateMsSqlInitCommands()
96+
{
97+
return new StringBuilder()
98+
.Append(@"# Add JSS module").AppendLine()
99+
.Append(@"COPY --from=jss C:\module\db C:\resources\jss").AppendLine().AppendLine();
100+
}
101+
102+
public StringBuilder GenerateSolrArgs()
103+
{
104+
return null;
105+
}
106+
107+
public StringBuilder GenerateSolrFroms()
108+
{
109+
return null;
110+
}
111+
112+
public StringBuilder GenerateSolrCommands()
113+
{
114+
return null;
115+
}
116+
117+
public StringBuilder GenerateSolrInitArgs()
118+
{
119+
return null;
120+
}
121+
122+
public StringBuilder GenerateSolrInitFroms()
123+
{
124+
return null;
125+
}
126+
127+
public StringBuilder GenerateSolrInitCommands()
128+
{
129+
return null;
130+
}
131+
}
132+
}

0 commit comments

Comments
 (0)