【发布时间】:2023-03-08 04:10:01
【问题描述】:
到目前为止,我一直在使用 Travis,对此非常满意(尽管它仅提供 Linux 环境),但我正在考虑尝试使用 TeamCity 并与 YouTrack 一起工作。我目前的情况如下:
我有一个项目,其中包含多个应用程序和库,这些应用程序和库应该是独立于平台的,面向 Windows、macOS 和 Linux,并为每个平台捆绑在一起。每次我完成一个功能分支并将其合并到开发分支时,我都需要手动拉取新的更改,分别在 Windows 和 macOS 上编译和运行测试套件。
我希望能够将更改推送到开发分支并让 CI 工具同时处理所有平台。因此,我注意到我可以设置一个在线 TeamCity 服务器(例如在 DigitalOcean 上)并在其旁边运行一个 Linux 构建代理,同时在我的本地台式计算机上安装一个 Windows 构建代理,在我的(本地)Macbook 上安装一个 macOS 构建代理。让这些机器使用其系统本机的本地工具链。
首先我想知道这是否是一个可行的设置。我考虑使用构建代理的 Docker 映像,直到我注意到 Windows 构建代理仅在 Windows 服务器上运行并且我必须自己通过安装 msbuild 等来配置容器。因此,在这种情况下,我考虑只使用我的本地机器和他们已经设置的工具链作为构建从站。
最后,我想知道TeamCity是否提供构建队列或类似的东西。我指的是以下情况:我在火车上,在我的Macbook上完成一些事情并合并它进入分支。但是,我的带有 Windows 构建代理的桌面目前处于脱机状态。一旦我再次启动它,它是否可以通过排队的提交/构建工作?
【问题讨论】:
标签: teamcity