我们使用 rackspace 作为我们的云提供商,并在需要时从现有服务器映像中启动新的构建代理。
然后,Team city 会检测构建代理映像,但不会自动对其进行授权。
你能告诉我如何授权构建代理而不需要手动去团队城市并单击授权,因为这些服务器可以启动不同的风格,每个都有不同的配置。
我是否只需将正确的授权密钥写入构建代理配置文件,还是有更好的方法将团队城市与云服务器一起使用?
我们使用 rackspace 作为我们的云提供商,并在需要时从现有服务器映像中启动新的构建代理。
然后,Team city 会检测构建代理映像,但不会自动对其进行授权。
你能告诉我如何授权构建代理而不需要手动去团队城市并单击授权,因为这些服务器可以启动不同的风格,每个都有不同的配置。
我是否只需将正确的授权密钥写入构建代理配置文件,还是有更好的方法将团队城市与云服务器一起使用?
在 TeamCity 10 中,您可以使用REST API在启动时使用管理员用户名/密码授权代理:
curl -sS -X PUT --data "true" -H "Content-Type:text/plain" -u ${TEAMCITY_SERVER_USERNAME}:${TEAMCITY_SERVER_PASSWORD} ${TEAMCITY_SERVER_URL}/httpAuth/app/rest/agents/${TEAMCITY_AGENT_NAME}/authorized
如果尾随BuildAgent/logs/teamcity-agent.log
文件,您将看到一条Registered
消息,然后您可以运行上述命令。
对我有用的方法是存储写入构建代理配置文件的唯一授权代码,然后将其传递到团队城市构建步骤。然后,构建步骤使用 powershell 更新构建代理配置文件,并且构建代理在下一次与团队城市服务器通信时被授权。