在Windows 10下为TeamCity代理授权docker

在Windows 10下为TeamCity代理授权docker

我有:

  • TeamCity 持续集成
  • TeamCity 代理,作为 Windows 服务安装在 Windows 10 中
  • 一些带有集成测试的 Java 项目,基于测试容器框架。
  • Sonatype Nexus 实例,配置为私有 docker 注册表

基于 TestContainers 的测试要求在项目构建期间有可用的 docker。测试执行所需的所有图像都位于 Nexus 中。这反过来意味着 - 为了在 CI 上执行测试,我应该将 docker 验证到 Nexus 中,以便能够提取它们。这就是问题的根源。

我不明白我应该如何验证docker的有效性,也就是windows服务(TeamCity代理)。

通常,它是通过 完成的docker login。我尝试docker login从代理主机上的管理员 PowerShell 执行,并且成功了 - 我现在可以从管理员控制台提取图像。但尝试在 TeamCity 代理上运行测试失败,在尝试从 Nexus 提取图像时遇到 401 Unauthorized。例如,服务是从某个用户执行的,但尚未docker login完成。

我应该如何让docker授权进入Windows 10 TeamCity代理服务的私有docker注册表?

答案1

您可以通过前往“构建配置”->“构建功能”->“添加构建功能”->“Docker 支持”->“添加注册表连接”在 Teamcity 中设置 docker 授权

相关内容