From 5cb80c04ee49dc67195f3f48573752310981adde Mon Sep 17 00:00:00 2001 From: Nate Amundson Date: Thu, 2 Feb 2017 15:26:11 -0800 Subject: [PATCH] Run Docker as current user in official builds --- buildpipeline/Dotnet-CLI-RHEL7-x64.json | 13 +++++++------ scripts/dockerrun-as-current-user.sh | 9 +++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 scripts/dockerrun-as-current-user.sh diff --git a/buildpipeline/Dotnet-CLI-RHEL7-x64.json b/buildpipeline/Dotnet-CLI-RHEL7-x64.json index 11e5a4d95..76d6d4212 100644 --- a/buildpipeline/Dotnet-CLI-RHEL7-x64.json +++ b/buildpipeline/Dotnet-CLI-RHEL7-x64.json @@ -22,17 +22,18 @@ "enabled": true, "continueOnError": false, "alwaysRun": false, - "displayName": "Run docker", + "displayName": "Run build in Docker container", "timeoutInMinutes": 0, "task": { - "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", - "versionSpec": "1.*", + "id": "6c731c3c-3c68-459a-a5c9-bde6e6595b5b", + "versionSpec": "2.*", "definitionType": "task" }, "inputs": { - "filename": "docker", - "arguments": "run -t --rm --sig-proxy=true --name $(Build.BuildId) -v $(Build.SourcesDirectory):/opt/code -w /opt/code -e CHANNEL -e CONNECTION_STRING -e REPO_ID -e REPO_USER -e REPO_PASS -e REPO_SERVER -e DOTNET_BUILD_SKIP_CROSSGEN -e PUBLISH_TO_AZURE_BLOB -e NUGET_FEED_URL -e NUGET_API_KEY -e GITHUB_PASSWORD -e ARTIFACT_STORAGE_KEY -e ARTIFACT_STORAGE_ACCOUNT -e ARTIFACT_STORAGE_CONTAINER -e CHECKSUM_STORAGE_KEY -e CHECKSUM_STORAGE_ACCOUNT -e CHECKSUM_STORAGE_CONTAINER chcosta/dotnetcore:rhel7_prereqs /bin/bash -c \"git clean -X -d -f; ./build.sh $(BuildArguments)\"", - "workingFolder": "", + "scriptPath": "scripts/dockerrun-as-current-user.sh", + "args": "-t --rm --sig-proxy=true --name $(Build.BuildId) -v $(Build.SourcesDirectory):/opt/code -w /opt/code -e CHANNEL -e CONNECTION_STRING -e REPO_ID -e REPO_USER -e REPO_PASS -e REPO_SERVER -e DOTNET_BUILD_SKIP_CROSSGEN -e PUBLISH_TO_AZURE_BLOB -e NUGET_FEED_URL -e NUGET_API_KEY -e GITHUB_PASSWORD -e ARTIFACT_STORAGE_KEY -e ARTIFACT_STORAGE_ACCOUNT -e ARTIFACT_STORAGE_CONTAINER -e CHECKSUM_STORAGE_KEY -e CHECKSUM_STORAGE_ACCOUNT -e CHECKSUM_STORAGE_CONTAINER chcosta/dotnetcore:rhel7_prereqs /bin/bash -c \"HOME=/opt/code; git clean -X -d -f; ./build.sh $(BuildArguments)\"", + "disableAutoCwd": "false", + "cwd": "", "failOnStandardError": "false" } } diff --git a/scripts/dockerrun-as-current-user.sh b/scripts/dockerrun-as-current-user.sh new file mode 100644 index 000000000..70344cc3c --- /dev/null +++ b/scripts/dockerrun-as-current-user.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +set -e + +docker run -u="$(id -u):$(id -g)" "$@"