Windows 构建代理:一台专机上的自托管 runner

一台只跑您编译任务的 Windows 机器:代理、SDK 和 Build Tools 由您装,系统由我们 10 分钟交付。

低至 每月 16.99 欧元

概述

自托管 Windows runner 首先得有一台属于自己的机器。在 By-Hoster,那就是一台专属 Windows VPS,10 分钟交付,带完整管理员权限和专属 IPv4。您把流水线需要的东西装上去——GitHub Actions 或 Azure DevOps 的代理、SDK、Build Tools——再把它注册到您的组织里。这台机器只干这件事,也不和任何人共用。

Linux runner 永远做不到的事,是一份很短却很顽固的清单:编译 .NET Framework、构建 WPF 或 WinForms 界面、对 Visual Studio 解决方案跑 MSBuild 和 MSTest、用 signtool 给二进制文件签名、生成 MSI 安装包。这些步骤需要 Windows 本身、它的 API 和它的工具链。Linux 容器很少能绕过去,除非把项目改写一部分。

我们建议至少选 Windows - Plus,每月 16.99 欧元(含税):8 vCore、16 GB 内存、250 GB SSD、500 Mbps。编译过程一直在读写——还原依赖包、生成中间文件、产出制品——所以全系都配了 SSD 存储。坦白说:除了系统之外什么都没预装。没有代理、没有 SDK、没有流水线。微软授权同样由您承担。

13€/月
推荐的 Plus 套餐(含税)
16GB
Plus 套餐的内存
8vCore
专用于编译的核心
10分钟
服务器交付

这台机器能带来什么,又带不来什么

Plus 套餐的 8 vCore 和 16 GB

Windows - Plus,每月 16.99 欧元:8 vCore、16 GB 内存、250 GB SSD、500 Mbps。这是我们对构建代理的起步建议,因为编译会把您给它的核心全用上,而一整套工具链加上后面的测试引擎,很快就能把 8 GB 填满。再往上,Windows - Max(16 vCore、32 GB)和 Windows - Titan(24 vCore、64 GB)能容下多个并行任务。

选 SSD,因为编译就是写盘

还原依赖包、生成中间目录、输出制品:一次构建的大部分时间都在创建和删除成千上万个小文件。这既是算力活,更是 I/O 活。四款配置都配 <strong>SSD 存储</strong>,没有选配项,也不加价。我们不公布任何吞吐数字或编译耗时:这些数据我们没有实测过,与其编造,不如不写。

裸装系统:不预装任何代理

By-Hoster 只交付 Windows 和管理员权限,别的什么都没有。GitHub Actions runner、Azure DevOps 代理、SDK、Visual Studio Build Tools、签名工具包、您的包管理器:都由您通过 RDP 或 PowerShell 自行安装,也由您用自己的令牌把代理注册到组织里。不提供流水线,不提供预制镜像,也没有哪个面板来规定版本。

专属机器,缓存不会消失

两次运行之间磁盘内容都还在:还原过的依赖包、已经克隆的仓库、装好的工具。每次任务开始不用重新下载,这一点和每次从零重建的临时代理完全不同。没有和别的客户共用的排队,也没有分钟配额要盯着:您按月租的是一台服务器,不是计算分钟数。快照和重装依旧可以在客户中心自助完成。

在 Windows 代理上真正要编译的东西

.NET Framework 解决方案

用 .NET Framework 4.8 写的应用只能在 Windows 上编译。MSBuild、Build Tools 装上的目标,以及项目里的 COM 依赖,要的是系统本身,不是一层兼容层。

WPF 和 WinForms 界面

带 Windows 图形界面的项目需要对应的程序集和生成器。Linux runner 碰到第一个 WPF 目标就停了;而 Windows 机器会像您的开发机一样把编译走完。

对整个解决方案跑 MSBuild 和 MSTest

编译和测试都在同一处,环境和生产一致。Windows 的任务计划程序也能触发夜间构建,完全不必牵扯任何远程流水线。

给二进制签名,打包成 MSI

用 signtool 签名、制作 MSI 安装包:这两步都活在 Windows 上。签名证书及其保管仍是您自己的事——我们既不提供也不保管任何证书。

一台只属于您的 GitHub Actions runner

您下载代理,用自己的令牌把它注册到仓库或组织,再以 Windows 服务的方式启动。它随机器一起启动,而我们不向您收取任何运行分钟费。

自托管的 Azure DevOps 代理

Azure DevOps 这边道理一样:一个自托管的 pool,代理装成服务,把机器的能力向组织声明。流水线的配置完全在您这边。

常见问题

能。您拿到的是一台带管理员权限的完整 Windows 机器:把代理下载上去,用自己的令牌注册到您的仓库或组织,再装成 Windows 服务,让它随机器一起启动。有一点要直说:By-Hoster 既不提供代理,也不提供流水线和令牌。我们保证的是服务器、系统和网络。遵守您所用 CI 平台的规则,是您的责任。

四款配置,均为含税月价:Core 9.99 欧元(4 vCore、8 GB、100 GB SSD)、Plus 16.99 欧元(8 vCore、16 GB、250 GB)、Max 28.99 欧元(16 vCore、32 GB、500 GB)、Titan 54.99 欧元(24 vCore、64 GB、800 GB、1000 Mbps)。按年付费再减 16,7 %。这个价钱涵盖机器、网络和客服,但不含微软授权、您的开发工具,也不含 SQL Server。无需签约,48 小时不满意可退款。

我们建议至少选每月 16.99 欧元的 Windows - Plus:8 vCore、16 GB 内存、250 GB SSD。我们的官方参考线是轻度使用 4 GB、加上业务软件或多人使用就要 8 GB;而构建代理很快就会超出这个范围,因为编译会占满所有可用核心,后面还要跑测试引擎。要并行跑多个任务,就瞄准 Max(16 vCore、32 GB)或 Titan(24 vCore、64 GB)。

都不是。By-Hoster 交付的是裸装系统:Windows、完整管理员权限,别的什么都没有。runner 或代理、SDK、Visual Studio Build Tools、各类工作负载、您的包管理器和签名工具,都由您在 RDP 会话或 PowerShell 里自行安装。不提供任何流水线,也没有预制镜像。作为回报,每个版本都由您来选,不会有东西在您背后自动升级。

我们不公布任何构建耗时或跑分:这些数据我们没有实测过,编一个数字对您毫无用处。我们能说清的是结构上的差别:机器是专属的,因此没有共享排队;磁盘内容在两次运行之间保留,因此依赖包和仓库都还在;存储是 SSD。真正能快多少取决于您的项目——拿您自己的项目试一试。

我们不设任务数或分钟数上限:您按月租的是一台服务器,不是计算时间。真正的上限来自硬件——Plus 套餐的 8 vCore 和 16 GB,或者 Titan 的 24 vCore 和 64 GB。至于人工登录,Windows Server 允许同时开 2 个管理用途的 RDP 会话;再多,微软就要求我们并不提供的 RDS CAL 授权。而以服务方式运行的代理,根本不需要开着任何会话。

Windows 需要:微软授权由您承担。By-Hoster 装系统,但既不提供也不转售授权,您必须持有适用于自己用途的有效授权。您装到机器上的工具同理:您安装的软件,授权仍归您。如果您的构建链要用数据库,SQL Server 同样需要自己的授权——Express 在其限制内免费,Standard 和 Enterprise 收费。

办法很直接:下单,服务器10 分钟交付并带专属 IPv4,用 RDP 连上,把和旧机器一样的工具链重装一遍。然后把代理注册到您的组织,让两个 runner 并存一段时间,好比对结果。环境弄好之后在客户中心打一个快照:不管后面哪次尝试翻了车,都能回到这个起点。

下单时提供三种系统,均不加价:Windows Server 2025(标准支持到 2029 年 11 月 13 日,安全更新到 2034 年 11 月 14 日)、Windows Server 2022(标准支持到 2026 年 10 月 13 日,安全更新到 2031 年 10 月 14 日),以及 Windows 11——客户端系统,并非为承载多用户服务而设计。服务器跑在我们位于新阿基坦大区的唯一机房 DC-FR_NA(01),Proxmox 上的 KVM,受法国司法管辖,绝不传出欧盟。

把话说清楚:包含的只有快照,由您在客户中心触发。By-Hoster 没有任何针对这台机器的自动异地备份。对构建代理来说这并不致命——源码在您的版本管理里,制品在您的包仓库里——但签名证书或某些本地配置,值得在服务器之外另存一份。VNC 应急控制台和重装依旧可以自助使用。