1 docker安装
docker run -it -e SERVER_URL=172.18.0.11:8111 \ -v /home/lishan/teamcity/conf:/data/teamcity_agent/conf \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /opt/buildagent/work:/opt/buildagent/work \ -v /opt/buildagent/temp:/opt/buildagent/temp \ -v /opt/buildagent/tools:/opt/buildagent/tools \ -v /opt/buildagent/plugins:/opt/buildagent/plugins \ -v /opt/buildagent/system:/opt/buildagent/system \ jetbrains/teamcity-agent
2 安装包
2.1 解压缩 TeamCity Agent 安装包
先从 TeamCity 服务器上下载 Agent 的安装包。
$ wget http://xxx.xxx.xxx.xxx/update/buildAgent.zip
xxx.xxx.xxx.xxx为前文中安装的 TeamCity 服务器的 IP 地址。
接下来把 Agent 安装包的内容解压到 /var/local/buildagent 目录下。
$ unzip buildAgent.zip -d /var/local/buildagent
2.2 配置 Agent
把 /var/local/buildagent/conf 目录下的 buildAgent.dist.properties 复制为 buildAgent.properties:
$ sudo cp buildAgent.dist.properties buildAgent.properties
编辑 buildAgent.properties,修改 serverUrl 的值:
同时设置 Agent 的名称:
name=tcagent1
2.3 启动 Agent
在运行时,Agent 会在 buildagent 目录下创建日志文件夹,所以需要设置 tcuser 可以操作这个目录:
$ cd /var/local/ $ chown -R tcuser:tcuser buildagent/
现在就可以启动 Agent 了:
$ sh /var/local/buildagent/bin/agent.sh start
接下来打开 TeamCity Server,点击 "Agents",再点 "Unauthorized" 标签,可以看到 Server 已经和 Agent 建立了联系。
2.4 TeamCity Unauthorized
但是,此时的 Agent 还是不能用的。因为这里有个比较重要的概念"Authorized",只有被授权的 Agent 才能够被 Server 调度使用。我们现在就为 tcagent1 进行授权。
点击上图中的 "Unauthorized":
在在弹出的对话框中输入一些注释,然后点击 "Authorize" 按钮:
这时 tcagent1 已经被移到了 "Connected" 标签中,这也说明 tcagent1 现在已经可以使用了。
2.5 配置Agent开机启动(如果是docker容器安装,就不需要这么麻烦了)
创建文件 /etc/init.d/tcagent,添加下面的内容,注意 jdk 的路径要更新为实际的路径:
#!/bin/sh #Provide the correct user name: USER="tcuser" case "$1" in start) su - $USER -c "cd /var/local/buildagent/bin ; ./agent.sh start" ;; stop) su - $USER -c "cd /var/local/buildagent/bin ; ./agent.sh stop" ;; *) echo "usage start/stop" exit 1 ;; esac exit 0
设置文件的权限并配置为默认启动的服务:
$ sudo chmod 755 tcagent $ sudo update-rc.d tcagent defaults
现在重启一下 Agent 所在的虚机,是不是重启完成后 Agent 已经可以自动连接上 Server 了!