[Windows] Install Docker-wincred (#4540)

* Add Docker WinCred

* fix getting docker url

* Use Expand-Archive instead of Extract-7Zip since 7zip is not installed yet
This commit is contained in:
Maxim Lobanov
2021-11-19 12:44:22 +01:00
committed by GitHub
parent f38b217469
commit d3a5bad25f
4 changed files with 17 additions and 0 deletions

View File

@@ -14,6 +14,13 @@ Start-Service docker
Write-Host "Install-Package Docker-Compose" Write-Host "Install-Package Docker-Compose"
Choco-Install -PackageName docker-compose Choco-Install -PackageName docker-compose
Write-Host "Install docker-wincred"
$dockerCredLatestRelease = Invoke-RestMethod -Uri "https://api.github.com/repos/docker/docker-credential-helpers/releases/latest"
$dockerCredDownloadUrl = $dockerCredLatestRelease.assets.browser_download_url -match "docker-credential-wincred-.+\.zip" | Select-Object -First 1
$dockerCredArchive = Start-DownloadWithRetry -Url $dockerCredDownloadUrl
Expand-Archive -Path $dockerCredArchive -DestinationPath "C:\Program Files\Docker"
Write-Host "Download docker images"
$dockerImages = (Get-ToolsetContent).docker.images $dockerImages = (Get-ToolsetContent).docker.images
foreach ($dockerImage in $dockerImages) { foreach ($dockerImage in $dockerImages) {
Write-Host "Pulling docker image $dockerImage ..." Write-Host "Pulling docker image $dockerImage ..."

View File

@@ -96,6 +96,7 @@ $toolsList = @(
(Get-CodeQLBundleVersion), (Get-CodeQLBundleVersion),
(Get-DockerVersion), (Get-DockerVersion),
(Get-DockerComposeVersion), (Get-DockerComposeVersion),
(Get-DockerWincredVersion),
(Get-GHCVersion), (Get-GHCVersion),
(Get-GitVersion), (Get-GitVersion),
(Get-GitLFSVersion), (Get-GitLFSVersion),

View File

@@ -61,6 +61,11 @@ function Get-DockerComposeVersion {
return "Docker-compose $dockerComposeVersion" return "Docker-compose $dockerComposeVersion"
} }
function Get-DockerWincredVersion {
$dockerCredVersion = $(docker-credential-wincred version)
return "Docker-wincred $dockerCredVersion"
}
function Get-GitVersion { function Get-GitVersion {
$(git version) -match "git version (?<version>\d+\.\d+\.\d+)" | Out-Null $(git version) -match "git version (?<version>\d+\.\d+\.\d+)" | Out-Null
$gitVersion = $Matches.Version $gitVersion = $Matches.Version

View File

@@ -6,6 +6,10 @@ Describe "Docker" {
"$ToolName --version" | Should -ReturnZeroExitCode "$ToolName --version" | Should -ReturnZeroExitCode
} }
It "docker-wincred" {
"docker-credential-wincred version" | Should -ReturnZeroExitCode
}
It "docker service is up" { It "docker service is up" {
"docker images" | Should -ReturnZeroExitCode "docker images" | Should -ReturnZeroExitCode
} }