forked from jenkinsci/docker-agent
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.ps1
27 lines (24 loc) · 1.14 KB
/
build.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[CmdletBinding()]
Param(
[String] $TagPrefix = 'latest',
[String] $AdditionalArgs = '',
[String] $Build = '',
[String] $Repository = 'remoting',
[String] $Organization = 'jenkins4eval'
)
$builds = @{
'default' = @{'Dockerfile' = 'Dockerfile-windows' ; 'TagSuffix' = '-windows' };
'jdk11' = @{'DockerFile' = 'Dockerfile-windows-jdk11'; 'TagSuffix' = '-windows-jdk11' };
}
if(![System.String]::IsNullOrWhiteSpace($Build) -and $builds.ContainsKey($Build)) {
Write-Host "Building $build => tag=$TagPrefix$($builds[$build]['TagSuffix'])"
$cmd = "docker build -f {0} -t {1}/{2}:{3}{4} {5} ." -f $builds[$build]['Dockerfile'], $Organization, $Repository, $TagPrefix, $builds[$build]['TagSuffix'], $AdditionalArgs
Invoke-Expression $cmd
} else {
foreach($build in $builds.Keys) {
Write-Host "Building $build => tag=$TagPrefix$($builds[$build]['TagSuffix'])"
$cmd = "docker build -f {0} -t {1}/{2}:{3}{4} {5} ." -f $builds[$build]['Dockerfile'], $Organization, $Repository, $TagPrefix, $builds[$build]['TagSuffix'], $AdditionalArgs
Invoke-Expression $cmd
}
}
Write-Host "Build finished successfully"