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

Windows Server 如何做 CI/CD?

  •  
  •   dream4ever · 2022-12-01 10:58:38 +08:00 · 3851 次点击
    这是一个创建于 747 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天看见论坛里的 这篇讨论 ,反思了一下自己公司的现状,不管是前端项目还是后端项目,全都是手动发版,没有 CI/CD 。

    公司目前用的阿里云国内的服务器,安装的是 Windows Server 2012 ,另一台低配的备用服务器安装的 Windows Server 2019 。如果不更换操作系统,在现有的条件下,要怎么做 CI/CD ?

    本地倒是有 CentOS 服务器,如果 Windows 不方便实现,那有什么办法可以在本地运行 CI/CD ,再自动更新到阿里云的 Windows 服务器上?

    21 条回复    2022-12-01 22:08:18 +08:00
    NewYear
        1
    NewYear  
       2022-12-01 11:22:44 +08:00
    Windows 不是也有 Core 模式么……

    老早就可以脚本化运行了啊。
    jiangxiaoshui
        2
    jiangxiaoshui  
       2022-12-01 11:25:42 +08:00
    有什么区别吗...
    hez2010
        3
    hez2010  
       2022-12-01 11:26:53 +08:00 via Android
    Windows Container 了解一下(建议 Windows Server 2019 或以上)。另外只是想跑 CI/CD 的话,主流的服务提供商都有支持 Windows 的 ci agent
    alexsunxl
        4
    alexsunxl  
       2022-12-01 11:28:20 +08:00
    装个 team city 或者 jenkins ,这个 windows 机器做为一个 agent 加进去。
    自己简单搞搞也可以,但是没多大意思。 用工具就先难后易咯,学习一些配置有一点点门槛。
    kop1989smurf
        5
    kop1989smurf  
       2022-12-01 11:29:13 +08:00
    win server 和 linux 的服务器在 ci/cd 领域有什么区别?
    optional
        6
    optional  
       2022-12-01 11:31:40 +08:00 via iPhone   ❤️ 1
    没区别啊
    billzhuang
        7
    billzhuang  
       2022-12-01 11:42:17 +08:00   ❤️ 1
    第一步,人手动怎么做的,先变成让人运行一个脚本来做。
    第二步,把这个脚本变成 CD

    CI 的话,你还的加单元测试阿之类的,那个不急。
    adoal
        8
    adoal  
       2022-12-01 12:18:16 +08:00
    灵魂拷问:你的业务是否真有频繁发版的需求?

    做 CI 也就罢了,不论发版是否频繁,CI 都是应该做的。但是做 CD 的话,是真的能提升交付品质,解决业务痛点,改进用户体验,还是为了 CD 而 CD ?
    Chad0000
        9
    Chad0000  
       2022-12-01 12:24:10 +08:00 via iPhone
    我们就是 windows server 。使用 azure ado ,在 server 上安装 agent 就行了。
    wdwwtzy
        10
    wdwwtzy  
       2022-12-01 13:03:29 +08:00 via iPhone
    这玩意确实跟操作系统没太大关系
    ysc3839
        11
    ysc3839  
       2022-12-01 13:08:53 +08:00 via Android
    没记错的话 Jenkins 和 Drone CI 都支持 Windows 吧?那剩下的问题就是写编译脚本了。绝大多数工具链都是支持命令行编译的,参考文档使用即可。
    charlie21
        12
    charlie21  
       2022-12-01 13:15:23 +08:00
    这是暗示 Windows Server 上的 project 没 CI/CD 是常态?
    jedihy
        13
    jedihy  
       2022-12-01 13:19:17 +08:00
    CI/CD 不是直接用云上的就行吗? azure devops 或者 github actions 搞起来就行呀,可以指定测试操作系统版本的。本地跑也行啊,把他们的 agent 装好配置一下就可以呀。
    luzemin
        14
    luzemin  
       2022-12-01 13:55:00 +08:00
    用跨平台的 CI/CD 工具
    luzemin
        15
    luzemin  
       2022-12-01 13:55:32 +08:00
    人少的话 Windows Powershell 脚本一把梭
    exonuclease
        16
    exonuclease  
       2022-12-01 15:47:36 +08:00
    微软自己是有一个团队来搞这玩意的 不过到最后机器上还是跑程序 /脚本来实现
    sunhelter
        17
    sunhelter  
       2022-12-01 15:50:52 +08:00   ❤️ 1
    我们正式版不是很频繁,所以测试服搭了 CI ,用 gitlab runner ,提交触发 powershell 脚本
    quan01994
        18
    quan01994  
       2022-12-01 15:59:15 +08:00
    python 可以的 。 或者直接用 azure devops
    crysislinux
        19
    crysislinux  
       2022-12-01 16:03:12 +08:00 via Android
    直接用云的吧。我们用 github actions
    cweijan
        20
    cweijan  
       2022-12-01 16:04:36 +08:00
    jenkins 跨平台, 支持 windows
    mmdsun
        21
    mmdsun  
       2022-12-01 22:08:18 +08:00
    微软那么多 CI 工具,还收购了 github. Win 上不缺

    推荐用 azure devops 。Azure DevOps Server 以前称为 Team Foundation Server ( TFS )
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3798 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:32 · PVG 18:32 · LAX 02:32 · JFK 05:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.