1
0
Fork 0
llvm-premerge-checks/scripts/windows_agent_start.ps1

58 lines
1.7 KiB
PowerShell
Raw Normal View History

# Copyright 2019 Google LLC
# Licensed under the the Apache License v2.0 with LLVM Exceptions (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# https://llvm.org/LICENSE.txt
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
2020-01-23 10:33:56 +01:00
# Pull and start the Docker container for a Windows agent.
# To setup a Windows agent see docs/playbooks.md
2020-02-04 16:55:24 +01:00
# TODO: add parameter to bootstrap buildkite or jenkins
2020-02-20 16:24:09 +01:00
param(
[Parameter(Mandatory=$true)]
2020-02-20 17:44:47 +01:00
[ValidateSet("buildkite", "jenkins")]
[string]$master,
[switch]$testing = $false
2020-02-20 16:24:09 +01:00
)
$NAME="agent-windows-${master}"
2020-01-23 10:33:56 +01:00
$IMAGE="gcr.io/llvm-premerge-checks/${NAME}"
2020-02-03 15:25:08 +01:00
Write-Output "Authenticating docker..."
2020-02-04 16:55:24 +01:00
Write-Output "y`n" | gcloud auth configure-docker
2020-02-03 15:25:08 +01:00
2020-01-31 11:53:51 +01:00
Write-Output "Pulling new image..."
2020-01-23 13:07:30 +01:00
docker pull ${IMAGE}
2020-01-31 11:53:51 +01:00
Write-Output "Stopping old container..."
2020-01-23 10:33:56 +01:00
docker stop ${NAME}
2020-01-23 13:07:30 +01:00
docker rm ${NAME}
2020-01-31 11:53:51 +01:00
Write-Output "Starting container..."
if (${testing}) {
docker run -it `
2020-01-23 10:33:56 +01:00
-v D:\:C:\ws `
-v C:\credentials:C:\credentials `
-e PARENT_HOSTNAME=$env:computername `
--restart unless-stopped `
--name ${NAME} `
${IMAGE} powershell
} else {
docker run -d `
-v D:\:C:\ws `
-v C:\credentials:C:\credentials `
-e PARENT_HOSTNAME=$env:computername `
--restart unless-stopped `
--name ${NAME} `
${IMAGE}
}