diff --git a/scripts/windows/latest.ps1 b/scripts/windows/latest.ps1 index 1a9a26b..7e8b3b5 100644 --- a/scripts/windows/latest.ps1 +++ b/scripts/windows/latest.ps1 @@ -1,5 +1,6 @@ # this script is used by the continuous integration server to # build and publish the docker image for a commit to master. +$ErrorActionPreference = "Stop" $env:GOOS="windows" $env:GOARCH="amd64" @@ -13,18 +14,22 @@ if (-not (Test-Path env:REGISTRY)) { $env:REGISTRY="docker" } - echo $env:GOOS echo $env:GOARCH echo $env:VERSION +echo $env:REGISTRY # build the binary -go build -o release/windows/amd64/drone-$env:REGISTRY.exe +Write-Host "+ go build -o release/windows/amd64/drone-${env:REGISTRY}.exe"; +go build -o release/windows/amd64/drone-${env:REGISTRY}.exe # build and publish the docker image -docker login -u $env:USERNAME -p $env:PASSWORD -docker build -f docker/$env:REGISTRY/Dockerfile.windows.amd64.$env:VERSION -t plugins/$env:REGISTRY:windows-$env:VERSION-amd64 . -docker push plugins/$env:REGISTRY:windows-$env:VERSION-amd64 +docker login -u ${env:USERNAME} -p ${env:PASSWORD} +Write-Host "+ docker build -f docker/${env:REGISTRY}/Dockerfile.windows.amd64.${env:VERSION} -t plugins/${env:REGISTRY}:windows-${env:VERSION}-amd64 ."; +docker build -f docker/${env:REGISTRY}/Dockerfile.windows.amd64.${env:VERSION} -t plugins/${env:REGISTRY}:windows-${env:VERSION}-amd64 . +Write-Host "+ docker push plugins/${env:REGISTRY}:windows-${env:VERSION}-amd64" +docker push plugins/${env:REGISTRY}:windows-${env:VERSION}-amd64 # remove images from local cache -docker rmi plugins/$env:REGISTRY:windows-$env:VERSION-amd64 +Write-Host "+ docker rmi plugins/${env:REGISTRY}:windows-${env:VERSION}-amd64" +docker rmi plugins/${env:REGISTRY}:windows-${env:VERSION}-amd64 diff --git a/scripts/windows/tag.ps1 b/scripts/windows/tag.ps1 index a8468b6..6d895ae 100644 --- a/scripts/windows/tag.ps1 +++ b/scripts/windows/tag.ps1 @@ -1,5 +1,6 @@ # this script is used by the continuous integration server to # build and publish the docker image for a tagged revsision. +$ErrorActionPreference = "Stop" $env:GOOS="windows" $env:GOARCH="amd64" @@ -19,9 +20,9 @@ if (-not (Test-Path env:REGISTRY)) { } # define the image tags -$env:IMAGE_PATCH="plugins/$env:REGISTRY:$env:DRONE_SEMVER_SHORT-windows-$env:VERSION-amd64" -$env:IMAGE_MAJOR="plugins/$env:REGISTRY:$env:DRONE_SEMVER_MAJOR-windows-$env:VERSION-amd64" -$env:IMAGE_MINOR="plugins/$env:REGISTRY:$env:DRONE_SEMVER_MAJOR.$env:DRONE_SEMVER_MINOR-windows-$env:VERSION-amd64" +$env:IMAGE_PATCH="plugins/${env:REGISTRY}:${env:DRONE_SEMVER_SHORT}-windows-${env:VERSION}-amd64" +$env:IMAGE_MAJOR="plugins/${env:REGISTRY}:${env:DRONE_SEMVER_MAJOR}-windows-${env:VERSION}-amd64" +$env:IMAGE_MINOR="plugins/${env:REGISTRY}:${env:DRONE_SEMVER_MAJOR}.${env:DRONE_SEMVER_MINOR}-windows-${env:VERSION}-amd64" echo "build environment:" echo $env:GOOS @@ -29,27 +30,37 @@ echo $env:GOARCH echo $env:VERSION # build the binary -go build -o release/windows/amd64/drone-$env:REGISTRY.exe +Write-Host "+ go build -o release/windows/amd64/drone-${env:REGISTRY}.exe" +go build -o release/windows/amd64/drone-${env:REGISTRY}.exe # authenticate with the docker registry -docker login -u $env:USERNAME -p $env:PASSWORD +docker login -u ${env:USERNAME} -p ${env:PASSWORD} echo "building images:" -echo $env:IMAGE_PATCH -echo $env:IMAGE_MINOR -echo $env:IMAGE_MAJOR +echo ${env:IMAGE_PATCH} +echo ${env:IMAGE_MINOR} +echo ${env:IMAGE_MAJOR} # build and tag the docker images -docker build -f docker/$env:REGISTRY/Dockerfile.windows.amd64.$env:VERSION -t $env:IMAGE_PATCH . -docker tag $env:IMAGE_PATCH $env:IMAGE_MAJOR -docker tag $env:IMAGE_PATCH $env:IMAGE_MINOR +Write-Host "+ docker build -f docker/${env:REGISTRY}/Dockerfile.windows.amd64.${env:VERSION} -t ${env:IMAGE_PATCH} ." +docker build -f docker/${env:REGISTRY}/Dockerfile.windows.amd64.${env:VERSION} -t ${env:IMAGE_PATCH} . +Write-Host "+ docker tag ${env:IMAGE_PATCH} ${env:IMAGE_MAJOR}" +docker tag ${env:IMAGE_PATCH} ${env:IMAGE_MAJOR} +Write-Host "+ docker tag ${env:IMAGE_PATCH} ${env:IMAGE_MINOR}" +docker tag ${env:IMAGE_PATCH} ${env:IMAGE_MINOR} # publish the docker images -docker push $env:IMAGE_MAJOR -docker push $env:IMAGE_MINOR -docker push $env:IMAGE_PATCH +Write-Host "+ docker push ${env:IMAGE_MAJOR}" +docker push ${env:IMAGE_MAJOR} +Write-Host "+ docker push ${env:IMAGE_MINOR}" +docker push ${env:IMAGE_MINOR} +Write-Host "+ docker push ${env:IMAGE_PATCH}" +docker push ${env:IMAGE_PATCH} # remove images after from local cache -docker rmi $env:IMAGE_MAJOR -docker rmi $env:IMAGE_MINOR -docker rmi $env:IMAGE_PATCH +Write-Host "+ docker rmi ${env:IMAGE_MAJOR}" +docker rmi ${env:IMAGE_MAJOR} +Write-Host "+ docker rmi ${env:IMAGE_MINOR}" +docker rmi ${env:IMAGE_MINOR} +Write-Host "+ docker rmi ${env:IMAGE_PATCH}" +docker rmi ${env:IMAGE_PATCH}