在我的windows服务器2022上,我最近使用windows安装程序安装了Teamcity Professional 2022.10(build 116751(,一旦我启动并运行它,我就可以通过GUI中的"安装代理",再次使用windows安装器安装代理。
然后,我创建了我的第一个项目,并成功地为其进行了构建,同时运行了我的测试。下一步是从这个构建中创建一个docker映像,并将其推送到我的存储库中。然而,在这里,我面临着一些问题:我安装的代理与该版本不兼容,这给了我以下不兼容错误:
Incompatible runner: Docker
Unmet requirements:
docker.version exists
docker.server.version exists
虽然我很清楚docker版本出了问题,但我不确定具体是什么,也不确定如何/在哪里修复。由于代理和teamcity安装都是作为windows服务(windows服务器2022(运行的,我不确定docker版本是必须安装在代理服务中运行的东西中,还是仅仅安装在我的windows服务器安装上。后者是这样的:运行docker信息表明它已经安装。
我试图以某种方式连接到我的代理,尝试在那里安装docker,通过RDP使用其主机名,它确实会提示我输入用户名和密码,但我不知道在那里使用哪种组合。我已经尝试使用运行进程的帐户的凭据,但这些凭据似乎都不起作用。在安装程序中,我没有任何地方需要选择任何凭据,所以我根本不确定如何连接到代理,或者我是否可以/必须连接到它才能在上面安装docker。
我还发现一些登录代理:
[2022-11-05 17:07:49,729] INFO - rains.buildServer.AGENT.DOCKER - Failed to parse version: Docker version master-dockerproject-2022-03-26, build dd7397342a
[2022-11-05 17:07:49,729] INFO - rains.buildServer.AGENT.DOCKER - Docker client is not available. Check whether it has been installed and PATH environment variable contains path to it.
[2022-11-05 17:07:49,777] INFO - Server.powershell.agent.DETECT - Found through registry: PowerShell Desktop Edition v5.1.20348.1 64-bit(C:WindowsSystem32WindowsPowerShellv1.0powershell.exe)
[2022-11-05 17:07:49,778] INFO - Server.powershell.agent.DETECT - Detecting PowerShell using CommandLinePowerShellDetector
[2022-11-05 17:07:50,125] INFO - rains.buildServer.AGENT.DOCKER - Docker-compose is not available. Check whether it has been installed and PATH environment variable contains path to it.
在我的代理的参数中,我可以找到路径参数,其中包括"C:\Program Files\Docker;"这让我觉得真正重要的是我的windows服务器的docker安装,但后来我看不出到底出了什么问题。
由于代理是作为服务安装的,所以它使用我的windows服务器安装的docker版本。我想重新安装docker,看看出了什么问题,我注意到我无法通过控制面板卸载它,windows似乎不知道它已经安装,尽管docker信息会指定正在运行的客户端和服务器。
在找到安装的所有"隐藏"docker文件并在主机上重新安装后,这些警告消失了。
不过,我仍然不确定是否可以连接到构建代理,但由于它似乎使用了主机上的资源,因此似乎没有必要这样做。