简单来说,TeamCity 的运作方式是 Server + Agent 的架构。平常我们看到的 TeamCity 操作画面是 Server 端,它负责提供 UI 跟使用者互动、储存所有设定、定期去检查 Repository 的更新,当它发现有变更时,就会把要做的任务放到 Queue 里。TeamCity 的 Agent 就是 Worker 的概念,这些 Agent 会等待 Server 配发任务给它执行。换言之,真正在执行 Build 的是 Agent。当 Agent 完成任务时,会把执行任务的 Log 及 Artifact 回传给 Server 储存起来。
这样的设计有几个好处:
不论您是使用软件包或是 Docker 安装 TeamCity,预设只会启动 TeamCity Server 及 1 个 Build Agent。若想要提升消化工作的效率,可以安装更多 Build Agent 来加速。今天就来跟大家介绍如何加装更多的 Build Agent 来加快消化建置任务的速度。
首先点选 TeamCity 画面上的 Agent 连结,进到 Agent 设定页,接着点选 Install agent 的按钮,选择其中一个版本下载安装档。
本文将以 Minimal ZIP file distribution 的版本示范安装及启动流程。
将上一步下载到的 buildAgent.zip
压缩档放到目标机器(比方说放到一台 Linux 主机)上的安装位置(比方说 /opt
底下),然後将 Build Agent 资料夹里的 conf/buildAgent.dist.properties
重新命名成 conf/buildAgent.properties
。
用文字编辑器打开 buildAgent.properties
,修改里面的 serverUrl
成 TeamCity 的路径(应该已经预先设定好,没有的话再手动改),以及在 name
栏位设定 Build Agent 的名字(本文示范使用 myBuildAgent1
),完成後存档关闭。
接着用随附的控制脚本启动 Build Agent:
$ ./<AGENT_DIRECTORY>\bin\agent.sh start
Build Agent 启动後会自动与 Server 连线,完成後就可以在 TeamCity 的 Agent 页面看到新增的 Build Agent。在导览列上的 Agent 数字也会增加。
若要关闭 Build Agent,一样使用随附的控制脚本:
$ ./<AGENT_DIRECTORY>\bin\agent.sh stop
依照以上的步骤,就能在 TeamCity 上面增加更多的 Build Agent,加快建置专案任务的消化速度喔!
本文示范的方式是在同一台机器上同时安装 TeamCity Server 及 Build Agent,不过请注意这 并非最佳实践 喔!比较好的作法是用独立的一台机器当 TeamCity Server,然後视团队需求准备足够数量及对应能力的 Build Agent,才能在安全性、执行任务效率及 HA 上有绝佳的表现喔!
笔者内心话:想偷懒的话,用 TeamCity Cloud 就是最佳解啦!
>>: Day 11 - BOM (Browser Object Model)
阿~今天的笔记,真心觉得,给我来一口翻译蒟蒻吧,很多硬梆邦的东西,记不起来XD" ▉条文是...
flame Collidable 有开发过游戏的人应该都有听过碰撞侦测这名词,程序使用碰撞侦测的演算...
0. 进度条 模型 进度 VGG Net 完成 ResNet 完成 DensNet 完成 Mobil...
陈述式 v.s 表达式 陈述式 JS 的语句类型,用於命令执行指定的一系列操作 最大特徵是不会回传结...
Reactive Programming 序 两年前在JCConf 2019,欣赏了Josh Lon...