From 0217ebbf628d2d88c5499864e6ca47d11a7d0770 Mon Sep 17 00:00:00 2001 From: MichaelSimons Date: Thu, 19 Oct 2017 16:54:19 -0500 Subject: [PATCH] Build samples for Nano Server 1709 release --- README.DockerHub.md | 12 +- ...net-docker-samples-linux-amd64-images.json | 6 +- ...t-docker-samples-linux-arm32v7-images.json | 6 +- ...otnet-docker-samples-post-image-build.json | 6 +- ...ker-samples-windows-1709-amd64-images.json | 270 ++++++++++++++++++ ...t-docker-samples-windows-amd64-images.json | 4 +- build-pipeline/pipeline.json | 20 +- manifest.json | 13 +- 8 files changed, 319 insertions(+), 18 deletions(-) create mode 100644 build-pipeline/dotnet-docker-samples-windows-1709-amd64-images.json diff --git a/README.DockerHub.md b/README.DockerHub.md index 03a04f9..77b2a0a 100644 --- a/README.DockerHub.md +++ b/README.DockerHub.md @@ -1,11 +1,15 @@ -# Supported Windows amd64 tags - -- [`dotnetapp-nanoserver`, `dotnetapp`, `latest` (*dotnetapp-prod/Dockerfile*)](https://github.com/dotnet/dotnet-docker-samples/blob/master/dotnetapp-prod/Dockerfile) - # Supported Linux amd64 tags - [`dotnetapp-stretch`, `dotnetapp`, `latest` (*dotnetapp-prod/Dockerfile*)](https://github.com/dotnet/dotnet-docker-samples/blob/master/dotnetapp-prod/Dockerfile) +# Supported Windows Server 2016 Version 1709 (Fall Creators Update) amd64 tags + +- [`dotnetapp-nanoserver-1709` (*dotnetapp-prod/Dockerfile*)](https://github.com/dotnet/dotnet-docker-samples/blob/master/dotnetapp-prod/Dockerfile) + +# Supported Windows Server 2016 amd64 tags + +- [`dotnetapp-nanoserver`, `dotnetapp`, `latest` (*dotnetapp-prod/Dockerfile*)](https://github.com/dotnet/dotnet-docker-samples/blob/master/dotnetapp-prod/Dockerfile) + # Supported Linux arm32 tags - [`dotnetapp-stretch-arm32v7`, `dotnetapp`, `latest` (*dotnetapp-prod/Dockerfile.arm32*)](https://github.com/dotnet/dotnet-docker-samples/blob/master/dotnetapp-prod/Dockerfile.arm32) diff --git a/build-pipeline/dotnet-docker-samples-linux-amd64-images.json b/build-pipeline/dotnet-docker-samples-linux-amd64-images.json index d9d6c26..3704807 100644 --- a/build-pipeline/dotnet-docker-samples-linux-amd64-images.json +++ b/build-pipeline/dotnet-docker-samples-linux-amd64-images.json @@ -122,7 +122,7 @@ "allowOverride": true }, "image-builder.imageName": { - "value": "microsoft/dotnet-buildtools-prereqs:image-builder-jessie-20170824103849" + "value": "microsoft/dotnet-buildtools-prereqs:image-builder-jessie-20171020090934" }, "image-builder.args": { "value": "build --manifest manifest.json --push --username $(PB.docker.username) --password $(PB.docker.password) $(PB.image-builder.customCommonArgs)", @@ -163,7 +163,7 @@ "jobCancelTimeoutInMinutes": 5, "repository": { "properties": { - "cleanOptions": "0", + "cleanOptions": "3", "gitLfsSupport": "false", "skipSyncSource": "false", "reportBuildStatus": "true", @@ -180,7 +180,7 @@ "name": "dotnet/dotnet-docker-samples", "url": "https://github.com/dotnet/dotnet-docker-samples.git", "defaultBranch": "master", - "clean": "false", + "clean": "true", "checkoutSubmodules": false }, "processParameters": {}, diff --git a/build-pipeline/dotnet-docker-samples-linux-arm32v7-images.json b/build-pipeline/dotnet-docker-samples-linux-arm32v7-images.json index fe626be..eebc585 100644 --- a/build-pipeline/dotnet-docker-samples-linux-arm32v7-images.json +++ b/build-pipeline/dotnet-docker-samples-linux-arm32v7-images.json @@ -176,7 +176,7 @@ "value": "$(Build.DefinitionName)-$(Build.BuildId)" }, "image-builder.imageName": { - "value": "microsoft/dotnet-buildtools-prereqs:image-builder-jessie-20170824103849" + "value": "microsoft/dotnet-buildtools-prereqs:image-builder-jessie-20171020090934" }, "image-builder.args": { "value": "build --manifest manifest.json --architecture arm --push --username $(PB.docker.username) --password $(PB.docker.password) $(PB.image-builder.customCommonArgs)", @@ -215,7 +215,7 @@ "jobCancelTimeoutInMinutes": 5, "repository": { "properties": { - "cleanOptions": "0", + "cleanOptions": "3", "gitLfsSupport": "false", "skipSyncSource": "false", "reportBuildStatus": "true", @@ -232,7 +232,7 @@ "name": "dotnet/dotnet-docker-samples", "url": "https://github.com/dotnet/dotnet-docker-samples.git", "defaultBranch": "master", - "clean": "false", + "clean": "true", "checkoutSubmodules": false }, "processParameters": {}, diff --git a/build-pipeline/dotnet-docker-samples-post-image-build.json b/build-pipeline/dotnet-docker-samples-post-image-build.json index f5aabb7..cda3426 100644 --- a/build-pipeline/dotnet-docker-samples-post-image-build.json +++ b/build-pipeline/dotnet-docker-samples-post-image-build.json @@ -141,7 +141,7 @@ "allowOverride": true }, "image-builder.imageName": { - "value": "microsoft/dotnet-buildtools-prereqs:image-builder-jessie-20170824103849" + "value": "microsoft/dotnet-buildtools-prereqs:image-builder-jessie-20171020090934" }, "image-builder.common.args": { "value": "--manifest manifest.json --username $(PB.docker.username) --password $(PB.docker.password) $(PB.image-builder.customCommonArgs)", @@ -190,7 +190,7 @@ "jobCancelTimeoutInMinutes": 5, "repository": { "properties": { - "cleanOptions": "0", + "cleanOptions": "3", "gitLfsSupport": "false", "skipSyncSource": "false", "reportBuildStatus": "true", @@ -207,7 +207,7 @@ "name": "dotnet/dotnet-docker-samples", "url": "https://github.com/dotnet/dotnet-docker-samples.git", "defaultBranch": "master", - "clean": "false", + "clean": "true", "checkoutSubmodules": false }, "processParameters": {}, diff --git a/build-pipeline/dotnet-docker-samples-windows-1709-amd64-images.json b/build-pipeline/dotnet-docker-samples-windows-1709-amd64-images.json new file mode 100644 index 0000000..cba8d38 --- /dev/null +++ b/build-pipeline/dotnet-docker-samples-windows-1709-amd64-images.json @@ -0,0 +1,270 @@ +{ + "build": [ + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Cleanup Docker", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "", + "workingFolder": "", + "inlineScript": "docker ps -a -q | %{docker rm -f $_}\n\ndocker images | where {-Not ($_.StartsWith(\"microsoft/nanoserver \") -Or $_.StartsWith(\"microsoft/windowsservercore \") -Or $_.StartsWith(\"REPOSITORY \"))} | %{$_.Split(' ', [System.StringSplitOptions]::RemoveEmptyEntries)[2]} | select-object -unique | %{docker rmi -f $_}", + "failOnStandardError": "true" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Pull image-builder", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "pull $(image-builder.imageName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Create container", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "create --name $(image-builder.containerName) $(image-builder.imageName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Copy image-builder locally", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker ", + "arguments": "cp $(image-builder.containerName):/image-builder $(Build.BinariesDirectory)/Microsoft.DotNet.ImageBuilder", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Cleanup container", + "timeoutInMinutes": 0, + "condition": "always()", + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "docker", + "arguments": "rmi -f $(image-builder.imageName)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Run image-builder", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "$(Build.BinariesDirectory)/Microsoft.DotNet.ImageBuilder/Microsoft.DotNet.ImageBuilder.exe", + "arguments": "$(image-builder.args)", + "workingFolder": "", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": true, + "displayName": "Cleanup Docker", + "timeoutInMinutes": 0, + "condition": "always()", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "", + "workingFolder": "", + "inlineScript": "docker ps -a -q | %{docker rm -f $_}\n\ndocker images | where {-Not ($_.StartsWith(\"microsoft/nanoserver \") -Or $_.StartsWith(\"microsoft/windowsservercore \") -Or $_.StartsWith(\"REPOSITORY \"))} | %{$_.Split(' ', [System.StringSplitOptions]::RemoveEmptyEntries)[2]} | select-object -unique | %{docker rmi -f $_}", + "failOnStandardError": "true" + } + } + ], + "options": [ + { + "enabled": false, + "definition": { + "id": "5bc3cfb7-6b54-4a4b-b5d2-a3905949f8a6" + }, + "inputs": {} + }, + { + "enabled": false, + "definition": { + "id": "7c555368-ca64-4199-add6-9ebaf0b0137d" + }, + "inputs": { + "multipliers": "[]", + "parallel": "false", + "continueOnError": "true", + "additionalFields": "{}" + } + }, + { + "enabled": false, + "definition": { + "id": "a9db38f9-9fdc-478c-b0f9-464221e58316" + }, + "inputs": { + "workItemType": "234347", + "assignToRequestor": "true", + "additionalFields": "{}" + } + }, + { + "enabled": false, + "definition": { + "id": "57578776-4c22-4526-aeb0-86b6da17ee9c" + }, + "inputs": {} + } + ], + "variables": { + "system.debug": { + "value": "false", + "allowOverride": true + }, + "image-builder.imageName": { + "value": "microsoft/dotnet-buildtools-prereqs:image-builder-nanoserver-20171022184734" + }, + "image-builder.args": { + "value": "build --manifest manifest.json --push --username $(PB.docker.username) --password $(PB.docker.password) $(PB.image-builder.customCommonArgs)", + "allowOverride": true + }, + "image-builder.containerName": { + "value": "$(Build.DefinitionName)-$(Build.BuildId)" + }, + "PB.docker.password": { + "value": null, + "isSecret": true + }, + "PB.image-builder.customCommonArgs": { + "value": "" + } + }, + "demands": [ + "VSTS_OS -equals Windows_Server_2016_Data_Center_RS3" + ], + "retentionRules": [ + { + "branches": [ + "+refs/heads/*" + ], + "artifacts": [], + "artifactTypesToDelete": [ + "FilePath", + "SymbolStore" + ], + "daysToKeep": 10, + "minimumToKeep": 1, + "deleteBuildRecord": true, + "deleteTestResults": true + } + ], + "jobAuthorizationScope": "projectCollection", + "jobTimeoutInMinutes": 60, + "jobCancelTimeoutInMinutes": 5, + "repository": { + "properties": { + "cleanOptions": "3", + "gitLfsSupport": "false", + "skipSyncSource": "false", + "reportBuildStatus": "true", + "fetchDepth": "0", + "connectedServiceId": "1e3b2b41-8d83-4240-a16f-6fc0b825d0d6", + "apiUrl": "https://api.github.com/repos/dotnet/dotnet-docker-samples", + "branchesUrl": "https://api.github.com/repos/dotnet/dotnet-docker-samples/branches", + "cloneUrl": "https://github.com/dotnet/dotnet-docker-samples.git", + "refsUrl": "https://api.github.com/repos/dotnet/dotnet-docker-samples/git/refs", + "checkoutNestedSubmodules": "false" + }, + "id": "https://github.com/dotnet/dotnet-docker-samples.git", + "type": "GitHub", + "name": "dotnet/dotnet-docker-samples", + "url": "https://github.com/dotnet/dotnet-docker-samples.git", + "defaultBranch": "master", + "clean": "true", + "checkoutSubmodules": false + }, + "processParameters": {}, + "quality": "definition", + "queue": { + "id": 832, + "name": "DotNetCore-Infra", + "pool": { + "id": 135, + "name": "DotNetCore-Infra" + } + }, + "id": 6229, + "name": "dotnet-docker-samples-windows-1709-amd64-images", + "url": "https://devdiv.visualstudio.com/0bdbc590-a062-4c3f-b0f6-9383f67865ee/_apis/build/Definitions/6229", + "path": "\\", + "type": "build", + "project": { + "id": "0bdbc590-a062-4c3f-b0f6-9383f67865ee", + "name": "DevDiv", + "description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ", + "url": "https://devdiv.visualstudio.com/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee", + "state": "wellFormed", + "revision": 418097676 + } +} diff --git a/build-pipeline/dotnet-docker-samples-windows-amd64-images.json b/build-pipeline/dotnet-docker-samples-windows-amd64-images.json index 722a572..19e24e4 100644 --- a/build-pipeline/dotnet-docker-samples-windows-amd64-images.json +++ b/build-pipeline/dotnet-docker-samples-windows-amd64-images.json @@ -183,7 +183,7 @@ "allowOverride": true }, "image-builder.imageName": { - "value": "microsoft/dotnet-buildtools-prereqs:image-builder-nanoserver-20170824103908" + "value": "microsoft/dotnet-buildtools-prereqs:image-builder-nanoserver-20171022184734" }, "image-builder.args": { "value": "build --manifest manifest.json --push --username $(PB.docker.username) --password $(PB.docker.password) $(PB.image-builder.customCommonArgs)", @@ -224,7 +224,7 @@ "jobCancelTimeoutInMinutes": 5, "repository": { "properties": { - "cleanOptions": "1", + "cleanOptions": "3", "gitLfsSupport": "false", "skipSyncSource": "false", "reportBuildStatus": "true", diff --git a/build-pipeline/pipeline.json b/build-pipeline/pipeline.json index 1d6b41f..a14729f 100644 --- a/build-pipeline/pipeline.json +++ b/build-pipeline/pipeline.json @@ -36,7 +36,24 @@ }, "Definitions": [ { - "Name": "dotnet-docker-samples-windows-amd64-images" + "Name": "dotnet-docker-samples-windows-amd64-images", + "Parameters": { + "PB.image-builder.customCommonArgs": "--os-version 10.0.14393" + } + } + ] + }, + { + "Name": "Build Windows 1709 AMD64 Images", + "Parameters": { + "TreatWarningsAsErrors": "false" + }, + "Definitions": [ + { + "Name": "dotnet-docker-samples-windows-1709-amd64-images", + "Parameters": { + "PB.image-builder.customCommonArgs": "--os-version 10.0.16299" + } } ] }, @@ -51,6 +68,7 @@ } ], "DependsOn": [ + "Build Windows 1709 AMD64 Images", "Build Windows AMD64 Images", "Build Linux AMD64 Images", "Build Linux ARM32v7 Images" diff --git a/manifest.json b/manifest.json index e6479fb..b3805bd 100644 --- a/manifest.json +++ b/manifest.json @@ -10,18 +10,27 @@ "latest": {} }, "platforms": [ + { + "dockerfile": "dotnetapp-prod/Dockerfile", + "os": "linux", + "tags": { + "dotnetapp-stretch": {} + } + }, { "dockerfile": "dotnetapp-prod/Dockerfile", "os": "windows", + "osVersion": "10.0.14393", "tags": { "dotnetapp-nanoserver": {} } }, { "dockerfile": "dotnetapp-prod/Dockerfile", - "os": "linux", + "os": "windows", + "osVersion": "10.0.16299", "tags": { - "dotnetapp-stretch": {} + "dotnetapp-nanoserver-1709": {} } }, {