Skip to content

Commit ee2d850

Browse files
committed
Merge remote-tracking branch 'origin/master' into feature/universaltracker
# Conflicts: # Build.ps1 # README.md # build-images.yml # build/windows/9.3.0/sitecore-assets/build.json # build/windows/dependencies/sitecore-certificates/Dockerfile # build/windows/tests/9.3.x/README.md
2 parents edec132 + 4614537 commit ee2d850

File tree

153 files changed

+11914
-5645
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+11914
-5645
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ windows/tests/**/data/**/*
1414
!windows/tests/**/data/*/.gitkeep
1515

1616
/.vscode/
17-
/tools/
17+
/build/tools/
1818

1919
windows/tests/**/mssql-data/**/*
2020
windows/tests/**/solr-data/**/*

Build.ps1

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ param(
3232
[Parameter()]
3333
[switch]$IncludeJss,
3434
[Parameter()]
35+
[switch]$IncludeSh,
36+
[Parameter()]
3537
[switch]$IncludeUt,
3638
[Parameter(HelpMessage = "If the docker image is already built it should be skipped.")]
3739
[switch]$SkipExistingImage,
@@ -120,37 +122,44 @@ $defaultTags = $availableTags | Where-Object { $_ -like "mssql-developer:*" -or
120122
$xpMiscTags = $availableTags | Where-Object { $_ -like "sitecore-certificates:*" }
121123
$xcMiscTags = $availableTags | Where-Object { $_ -like "sitecore-certificates:*" -or $_ -like "sitecore-redis:*" }
122124

123-
$assetTags = $availableTags | Where-Object { $_ -match "sitecore(-custom)?-assets:.*" }
124-
$moduleAssetTags = $availableTags | Where-Object { $_ -like "modules/*" }
125-
$xmTags = $availableTags | Where-Object { $_ -match "sitecore-xm(-custom)?-(?!.*spe|.*sxa|.*jss).*:.*" }
126-
$xpTags = $availableTags | Where-Object { $_ -match "sitecore-xp(-custom)?-(?!.*spe|.*sxa|.*jss|.*ut).*:.*" }
125+
$assetTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore(-custom)?-assets:.*" }
126+
$moduleAssetTags = $availableTags | Where-Object { $_ -like "community/modules/*" }
127+
$xmTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xm([1]{0,1})(-custom)?-(?!.*spe|.*sxa|.*jss).*:.*" }
128+
$xpTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xp([1]{0,1})(-custom)?-(?!.*spe|.*sxa|.*jss|.*sh|.*ut).*:.*" }
129+
$xp0Tags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xp0(-custom)?-(?!.*spe|.*sxa|.*jss).*:.*" }
127130

128-
$xcTags = $availableTags | Where-Object { $_ -match "sitecore-xc(-custom)?-(?!.*spe|.*sxa|.*jss).*:.*" }
131+
$xcTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xc(-custom)?-(?!.*spe|.*sxa|.*jss).*:.*" }
129132

130-
$xmSpeTags = $availableTags | Where-Object { $_ -match "sitecore-xm(-custom)?-(spe)(?!.*sxa).*:.*" }
131-
$xmSxaTags = $availableTags | Where-Object { $_ -match "sitecore-xm(-custom)?-(.*sxa)(?!.*jss).*:.*" }
132-
$xmJssTags = $availableTags | Where-Object { $_ -match "sitecore-xm(-custom)?-(.*jss).*:.*" }
133+
$xmSpeTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xm([1]{0,1})(-custom)?-(spe)(?!.*sxa).*:.*" }
134+
$xmSxaTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xm([1]{0,1})(-custom)?-(.*sxa)(?!.*jss).*:.*" }
135+
$xmJssTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xm([1]{0,1})(-custom)?-(.*jss).*:.*" }
133136

134-
$xp0SpeTags = $availableTags | Where-Object { $_ -match "sitecore-xp0(-custom)?-(spe)(?!.*sxa).*:.*" }
135-
$xp0SxaTags = $availableTags | Where-Object { $_ -match "sitecore-xp0(-custom)?-(.*sxa)(?!.*jss).*:.*" }
136-
$xp0JssTags = $availableTags | Where-Object { $_ -match "sitecore-xp0(-custom)?-(.*jss).*:.*" }
137+
$xp0SpeTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xp0(-custom)?-(spe)(?!.*sxa).*:.*" }
138+
$xp0SxaTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xp0(-custom)?-(.*sxa)(?!.*jss).*:.*" }
139+
$xp0JssTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xp0(-custom)?-(.*jss).*:.*" }
137140

138-
$xpSpeTags = $availableTags | Where-Object { $_ -match "sitecore-xp([1]{0,1})(-custom)?-(spe)(?!.*sxa).*:.*" }
139-
$xpSxaTags = $availableTags | Where-Object { $_ -match "sitecore-xp([1]{0,1})(-custom)?-(.*sxa)(?!.*jss).*:.*" }
140-
$xpJssTags = $availableTags | Where-Object { $_ -match "sitecore-xp([1]{0,1})(-custom)?-(.*jss).*:.*" }
141+
$xpSpeTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xp([1]{0,1})(-custom)?-(spe)(?!.*sxa).*:.*" }
142+
$xpSxaTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xp([1]{0,1})(-custom)?-(.*sxa)(?!.*jss).*:.*" }
143+
$xpJssTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xp([1]{0,1})(-custom)?-(.*jss).*:.*" }
144+
$xpShTags = $availableTags | Where-Object { $_ -match "sitecore-xp([1]{0,1})(-custom)?-(.*sh).*:.*" }
141145
$xpUtTags = $availableTags | Where-Object { $_ -match "sitecore-xp([1]{0,1})(-custom)?-(.*ut).*:.*" }
142146

143-
$xcSpeTags = $availableTags | Where-Object { $_ -match "sitecore-xc-(spe).*:.*" }
144-
$xcSxaTags = $availableTags | Where-Object { $_ -match "sitecore-xc-(sxa).*:.*" }
147+
$xcSpeTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xc-(spe).*:.*" }
148+
$xcSxaTags = $availableTags | Where-Object { $_ -match "(community/)?sitecore-xc-(sxa).*:.*" }
145149

146-
$knownTags = $defaultTags + $xpMiscTags + $xcMiscTags + $assetTags + $moduleAssetTags + $xmTags + $xpTags + $xcTags + $xmSpeTags + $xp0SpeTags + $xpSpeTags + $xcSpeTags + $xmSxaTags + $xp0SxaTags + $xpSxaTags + $xcSxaTags + $xmJssTags + $xp0JssTags + $xpJssTags + $xpUtTags
150+
$knownTags = $defaultTags + $xpMiscTags + $xcMiscTags + $assetTags + $moduleAssetTags + $xmTags + $xpTags + $xp0Tags + $xcTags + $xmSpeTags + $xp0SpeTags + $xpSpeTags + $xcSpeTags + $xmSxaTags + $xp0SxaTags + $xpSxaTags + $xcSxaTags + $xmJssTags + $xp0JssTags + $xpJssTags + $xpShTags + $xpUtTags
147151
# These tags are not yet classified and no dependency check is made at this point to know which image it belongs to.
148152
$catchAllTags = [System.Linq.Enumerable]::Except([string[]]$availableTags, [string[]]$knownTags)
149153

150154
foreach ($wv in $OSVersion)
151155
{
152-
$defaultTags | WindowsFilter -Version $wv | ForEach-Object { $tags.Add($_) > $null }
153156

157+
[regex]$versionReg = "[789]\.[0-9]\.[0-9]"
158+
#Check if version being built is 7.x, 8.x or 9.x. We only need the defaultTags if building < 10.x
159+
if (($SitecoreVersion -match $versionReg).count -gt 0)
160+
{
161+
$defaultTags | WindowsFilter -Version $wv | ForEach-Object { $tags.Add($_) > $null }
162+
}
154163
if ($Topology -contains "xp")
155164
{
156165
$xpMiscTags | WindowsFilter -Version $wv | ForEach-Object { $tags.Add($_) > $null }
@@ -280,6 +289,14 @@ foreach ($wv in $OSVersion)
280289
$xpUtTags | SitecoreFilter -Version $scv | WindowsFilter -Version $wv | ForEach-Object { $tags.Add($_) > $null }
281290
}
282291
}
292+
293+
if ($IncludeSh)
294+
{
295+
if ($Topology -eq "xp")
296+
{
297+
$xpShTags | SitecoreFilter -Version $scv | WindowsFilter -Version $wv | ForEach-Object { $tags.Add($_) > $null }
298+
}
299+
}
283300
}
284301
}
285302

@@ -319,6 +336,14 @@ SitecoreImageBuilder\Invoke-PackageRestore `
319336
-ExperimentalTagBehavior:(@{$true = "Include"; $false = "Skip" }[$IncludeExperimental -eq $true]) `
320337
-WhatIf:$WhatIfPreference
321338

339+
if ($IncludeExperimental -eq $true) {
340+
# restore any missing experimental packages
341+
.\Download-Module-Prerequisites.ps1 `
342+
-InstallSourcePath $InstallSourcePath `
343+
-SitecoreUsername $SitecoreUsername `
344+
-SitecorePassword $SitecorePassword
345+
}
346+
322347
# start the build
323348
SitecoreImageBuilder\Invoke-Build `
324349
-Path (Join-Path $(Get-Location) $rootFolder) `
@@ -329,4 +354,4 @@ SitecoreImageBuilder\Invoke-Build `
329354
-IsolationModeBehaviour $IsolationModeBehaviour `
330355
-WhatIf:$WhatIfPreference
331356

332-
Pop-Location
357+
Pop-Location

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
[//]: # "start: stats"
44

5-
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](https://opensource.org/licenses/MIT) ![Repositories](https://img.shields.io/badge/Repositories-154-blue.svg?style=flat-square) ![Tags](https://img.shields.io/badge/Tags-898-blue.svg?style=flat-square) ![Deprecated](https://img.shields.io/badge/Deprecated-0-lightgrey.svg?style=flat-square) ![Dockerfiles](https://img.shields.io/badge/Dockerfiles-104-blue.svg?style=flat-square) ![Default version](https://img.shields.io/badge/Default%20version-9.3.0%20on%20ltsc2019/1809-blue?style=flat-square)
5+
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](https://opensource.org/licenses/MIT) ![Repositories](https://img.shields.io/badge/Repositories-185-blue.svg?style=flat-square) ![Tags](https://img.shields.io/badge/Tags-1009-blue.svg?style=flat-square) ![Deprecated](https://img.shields.io/badge/Deprecated-0-lightgrey.svg?style=flat-square) ![Dockerfiles](https://img.shields.io/badge/Dockerfiles-107-blue.svg?style=flat-square) ![Default version](https://img.shields.io/badge/Default%20version-10.0.0%20on%20ltsc2019/1809-blue?style=flat-square)
66

77
[//]: # "end: stats"
88

9-
In this repository you will find the official Sitecore container support files, all located in the `/sitecore-container-support/` folder. This folder contains primarily the official tags list of all published images (see [SITECORE-TAGS.md](/sitecore-container-support/sitecore-tags.md)), but will also be used to hold additional official Sitecore materials related to containers.
9+
In this repository you will find the official Sitecore container support files. The `/tags/` folder contains the official tags list of all published images (see [SITECORE-TAGS.md](tags/sitecore-tags.md)).
1010

1111
Using this repository you can also build custom Docker images for the most recent versions of Sitecore. You can use this repository (preferably from a fork) from your build server and have it build and push images to your private Docker registry. See [INSTRUCTIONS.md](build/INSTRUCTIONS.md) for how to setup and build, and [IMAGES.md](build/IMAGES.md) for a list of all custom images currently available to be built.
1212

@@ -19,7 +19,7 @@ Using this repository you can also build custom Docker images for the most recen
1919

2020
### Official Sitecore image tags
2121

22-
Please see [SITECORE-TAGS.md](/sitecore-container-support/sitecore-tags.md).
22+
Please see [SITECORE-TAGS.md](tags/sitecore-tags.md).
2323

2424
### How to setup and build custom images
2525

build-images.yml

Lines changed: 92 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
# - azure.vm.windows.name
99
#
1010
# Image build options
11+
# - build.triggerAdditionalBuild - specify a build ID for triggering an additional build after successful completion
1112
# - build.tags
1213
# - build.pushMode
1314
# - build.pruneImages
@@ -17,6 +18,7 @@
1718
# - build.includeSpe
1819
# - build.includeSxa
1920
# - build.includeJss
21+
# - build.includeSh
2022
# - build.includeUt
2123
# - build.skipExistingImages
2224
# - build.includeExperimentalImages
@@ -57,7 +59,7 @@ schedules:
5759

5860
stages:
5961

60-
- stage: Build_Wndows_Images
62+
- stage: Build_Windows_Images
6163
jobs:
6264
- job: Build_Windows_Images
6365
timeoutInMinutes: 720
@@ -93,6 +95,7 @@ stages:
9395
IncludeSpe = [System.Convert]::ToBoolean($(build.includeSpe))
9496
IncludeSxa = [System.Convert]::ToBoolean($(build.includeSxa))
9597
IncludeJss = [System.Convert]::ToBoolean($(build.includeJss))
98+
IncludeSh = [System.Convert]::ToBoolean($(build.includeSh))
9699
IncludeUt = [System.Convert]::ToBoolean($(build.includeUt))
97100
IncludeExperimental = [System.Convert]::ToBoolean($(build.includeExperimentalImages))
98101
SkipExistingImage = [System.Convert]::ToBoolean($(build.skipExistingImages))
@@ -104,15 +107,18 @@ stages:
104107
docker image prune --force
105108
condition: and(succeeded(), eq(variables['build.pruneImages'], 'true'))
106109
displayName: 'Prune images (optional)'
107-
110+
- stage: Build_Linux_Images
111+
dependsOn: []
112+
jobs:
108113
- job: Build_Linux_Images
109114
timeoutInMinutes: 720
110115
displayName: "Build Linux Images"
111116
condition: eq(variables['build.linuxImages'], 'true')
112117
pool:
113-
vmImage: 'ubuntu-18.04'
118+
name: 'docker-linux-agents'
114119
steps:
115120
- task: Bash@3
121+
displayName: "Connect to asset drive"
116122
condition: eq(variables['assets.useDrive'], 'true')
117123
inputs:
118124
targetType: inline
@@ -142,6 +148,7 @@ stages:
142148
- checkout: self
143149
clean: true
144150
- powershell: |
151+
sudo chmod 777 /mnt/dockerassets -R
145152
"$(container.registry.password)" | docker login -u "$(container.registry.username)" --password-stdin $(container.registry.fullname)
146153
$buildProps = @{
147154
InstallSourcePath = "$(linux.install.source.path)"
@@ -156,6 +163,7 @@ stages:
156163
IncludeSpe = [System.Convert]::ToBoolean($(build.includeSpe))
157164
IncludeSxa = [System.Convert]::ToBoolean($(build.includeSxa))
158165
IncludeJss = [System.Convert]::ToBoolean($(build.includeJss))
166+
IncludeSh = [System.Convert]::ToBoolean($(build.includeSh))
159167
IncludeUt = [System.Convert]::ToBoolean($(build.includeUt))
160168
IncludeExperimental = [System.Convert]::ToBoolean($(build.includeExperimentalImages))
161169
SkipExistingImage = [System.Convert]::ToBoolean($(build.skipExistingImages))
@@ -166,3 +174,84 @@ stages:
166174
- powershell: |
167175
docker image prune --force
168176
condition: and(succeeded(), eq(variables['build.pruneImages'], 'true'))
177+
- stage: Trigger
178+
dependsOn:
179+
- Build_Windows_Images
180+
- Build_Linux_Images
181+
condition: and(succeeded('Build_Windows_Images'), succeeded('Build_Linux_Images'), ne(variables['build.triggerAdditionalBuild'], ''), eq(variables['Build.SourceBranch'], 'refs/heads/master') )
182+
jobs:
183+
- job: TriggerAdditionalBuild
184+
185+
displayName: "Trigger Additional Build"
186+
steps:
187+
- task: TriggerBuild@3
188+
inputs:
189+
definitionIsInCurrentTeamProject: true
190+
buildDefinition: '$(build.triggerAdditionalBuild)'
191+
queueBuildForUserThatTriggeredBuild: false
192+
ignoreSslCertificateErrors: false
193+
useSameSourceVersion: false
194+
useCustomSourceVersion: false
195+
useSameBranch: false
196+
branchToUse: 'master'
197+
waitForQueuedBuildsToFinish: false
198+
storeInEnvironmentVariable: false
199+
authenticationMethod: 'Personal Access Token'
200+
password: '$(System.AccessToken)'
201+
enableBuildInQueueCondition: false
202+
dependentOnSuccessfulBuildCondition: false
203+
dependentOnFailedBuildCondition: false
204+
checkbuildsoncurrentbranch: false
205+
failTaskIfConditionsAreNotFulfilled: false
206+
- stage: Trigger_Harbor_Push
207+
dependsOn:
208+
- Build_Windows_Images
209+
- Build_Linux_Images
210+
condition: and(succeeded('Build_Windows_Images'), succeeded('Build_Linux_Images'),eq(variables['Build.SourceBranch'], 'refs/heads/master'))
211+
jobs:
212+
- job: Harbor_Push
213+
displayName: 'Harbor Push'
214+
steps:
215+
- task: TriggerBuild@3
216+
displayName: "Trigger Community XP"
217+
inputs:
218+
definitionIsInCurrentTeamProject: true
219+
buildDefinition: '103'
220+
queueBuildForUserThatTriggeredBuild: true
221+
ignoreSslCertificateErrors: false
222+
useSameSourceVersion: false
223+
useCustomSourceVersion: false
224+
useSameBranch: false
225+
branchToUse: 'master'
226+
waitForQueuedBuildsToFinish: false
227+
storeInEnvironmentVariable: false
228+
buildParameters: 'namespace: community, groupName: xp, tag:""'
229+
authenticationMethod: 'Personal Access Token'
230+
password: '$(System.AccessToken)'
231+
enableBuildInQueueCondition: false
232+
dependentOnSuccessfulBuildCondition: false
233+
dependentOnFailedBuildCondition: false
234+
checkbuildsoncurrentbranch: false
235+
failTaskIfConditionsAreNotFulfilled: false
236+
237+
- task: TriggerBuild@3
238+
displayName: "Trigger Community XM"
239+
inputs:
240+
definitionIsInCurrentTeamProject: true
241+
buildDefinition: '103'
242+
queueBuildForUserThatTriggeredBuild: true
243+
ignoreSslCertificateErrors: false
244+
useSameSourceVersion: false
245+
useCustomSourceVersion: false
246+
useSameBranch: false
247+
branchToUse: 'master'
248+
waitForQueuedBuildsToFinish: false
249+
storeInEnvironmentVariable: false
250+
buildParameters: 'namespace: community, groupName: xm, tag:""'
251+
authenticationMethod: 'Personal Access Token'
252+
password: '$(System.AccessToken)'
253+
enableBuildInQueueCondition: false
254+
dependentOnSuccessfulBuildCondition: false
255+
dependentOnFailedBuildCondition: false
256+
checkbuildsoncurrentbranch: false
257+
failTaskIfConditionsAreNotFulfilled: false

build/CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,25 @@
11
# Changelog
22

3+
## October 2020
4+
5+
- [Added] missing packages to download file
6+
- [**Breaking**] Renamed `Download-PS-Prerequisites.ps1` to `Download-Module-Prerequisites.ps1`
7+
- [Changed] Refactored `Download-Module-Prerequisites.ps1` to download more than just Publishing Service
8+
- [Changed] Fixed incorrect path logic in `Download-Module-Prerequisites.ps1`
9+
- [Added] DEF tenant service (TS)
10+
- [Added] additional TS plugin asset images
11+
- [Added] additional DEF MA Action asset images
12+
- [Changed] Removed defaultTags (`mssql-developer-2017`) from building for v10.x +
13+
- [WIP] Temporarily disabling Horizon asset images
14+
15+
- [Added] Sitcore 10.0.0 (XP1) CD with PS and JSS
16+
- [Changed] Sitcore 10.0.0 community module Windows PS include CD role
17+
318
## September 2020
419

20+
- [Changed] Add Namespace to make difference between Sitecore vs commintry tags. Example: ```community/TAG```, and ```community/modules/TAG```
21+
- [Added] Sitcore 10.0.0 community modules Linux/Windows CMP/DAM/DEF/PS/SFMC/SPE/SXA assets images
22+
- [Added] Sitcore 10.0.0 XP0/XP1/SPE/SXA/JSS/PS MsSql Linux images
523
- [**Breaking**] Refactored repository to most build-related files to a /build folder
624
- [**Breaking**] Sitecore Version ```build.ps1``` default set to ```10.0.0```
725
- [Added] XP0 10.0.0. SPE/SXA/JSS

0 commit comments

Comments
 (0)