V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
twistedmeadows
V2EX  ›  Windows

配置 CI 自动化机器, win 的构建环境应该装 windows server 吗?

  •  
  •   twistedmeadows · 2022-06-23 10:30:02 +08:00 · 1851 次点击
    这是一个创建于 916 天前的主题,其中的信息可能已经有所发展或是发生改变。
    背景:一群 Linux 程序员,Windows 不太熟。

    公司的软件现在要全部做 Windows 兼容。Gitlab CI 自动构建这块,就需要新增 Windows 的 CI Runner 来执行 windows 版本的构建。
    目标用户环境是 win10 。按理说 CI Runner 的操作系统也安装 win10 是最简单的。
    但是既然是作为 runner 的服务器,是否应该安装 windows server 才更好?(管理上、并发数等等?)
    如果使用 windows server 作为操作系统,构建出来的软件是否会存在兼容性问题?例如在用户环境上某个 DLL 找不到?


    另:相同配置的机器,win10 和 windows server 跑 gitlab CI runner ,并行执行的任务数量是否有差异?
    9 条回复    2022-06-23 14:07:10 +08:00
    zengxs
        1
    zengxs  
       2022-06-23 10:33:42 +08:00
    目标环境是 win10 那肯定 CI 也装 win10 啊
    pigspy
        2
    pigspy  
       2022-06-23 10:34:12 +08:00
    你们构建出来的软件是运行在 win server 还是 win10 上的?跟目标平台一致不就行了
    twistedmeadows
        3
    twistedmeadows  
    OP
       2022-06-23 10:38:49 +08:00
    @pigspy 构建出来的软件是运行在 win10 上。

    那再补充一个问题:windows 10 专业版、企业版 和 普通的家庭版,会有兼容性方面的问题吗?例如我们用企业版构建出来的软件,在用户那里是家庭版环境中运行
    pigspy
        4
    pigspy  
       2022-06-23 10:49:16 +08:00   ❤️ 1
    @twistedmeadows
    你要看你们用到了 win10 的啥东西,一般来说没啥区别
    但是如果你们用到了组策略之类啥的会有区别
    129tyc
        5
    129tyc  
       2022-06-23 11:54:27 +08:00 via Android   ❤️ 1
    之前整过 windows 流水线构建,只能说 windows 容器是大坑,慎重
    kaedeair
        6
    kaedeair  
       2022-06-23 12:09:20 +08:00   ❤️ 1
    你们是用 mingw 还是 msvc 构建的,mingw 应该不受 msvc 运行库和 windows 版本的影响,msvc 的话主要是看用到了什么系统特性和运行库链接方式
    MSVC 这里有个坑和 linux 不太一样,有个 MT MD 的选项,决定是否需要 VC 运行库才能运行,这个东西必须一个工程里所有依赖都要统一
    twistedmeadows
        7
    twistedmeadows  
    OP
       2022-06-23 12:41:50 +08:00
    @kaedeair 准备是用 msvc ,我们的代码都是尽可能做到平台无关的,所以除开文件操作之类的,期望用到的系统特性都尽可能少。
    ddrobot
        8
    ddrobot  
       2022-06-23 14:03:53 +08:00
    @twistedmeadows 文件操作的话,新编译器也支持 std::filesystem 了
    Mithril
        9
    Mithril  
       2022-06-23 14:07:10 +08:00
    msvc 直接用官方那几个 build 工具就行了。不存在平台区别。
    只要你发布的时候带上你用的 vcruntime 就可以。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5281 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:19 · PVG 16:19 · LAX 00:19 · JFK 03:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.