V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ChefIsAwesome
V2EX  ›  问与答

web 前端/iOS/Android 开发时,如何应用 CI/CD

  •  
  •   ChefIsAwesome · 2019-09-06 08:55:49 +08:00 · 1867 次点击
    这是一个创建于 1930 天前的主题,其中的信息可能已经有所发展或是发生改变。

    CI/CD 也谈了好多年了。根据我的理解,CI 就是提交代码触发自动测试。CD 就是自动测试过了之后触发打包部署。我一直没在项目里用过,充满疑问:

    GUI 开发到底怎么测试?

    如果是写框架,写工具,mock 请求之类的不涉及用户操作的,写写单元测试大家都知道怎么做。问题就在那些用户操作的部分,就算是有模拟器,像拖拽操作,动画表现,设备兼容性之类的问题,我很难想出要怎么写代码来测试。

    如果必须大量人工测试,CD 如何应用?

    这种情况下,肯定是没办法自动测试过了就部署的。顶多是把打包部署的过程做成一键操作,等人工测完了,bug 修好了,再手工操作。如果不能自动部署,跟自己写个脚本,需要的时候执行一下有什么区别呢?

    请教各位做 GUI 开发的朋友们,你们团队是怎么应用 CI/CD 的?

    第 1 条附言  ·  2019-09-09 08:28:52 +08:00
    欢迎更多分享。
    7 条回复    2019-09-06 11:08:58 +08:00
    sunjourney
        1
    sunjourney  
       2019-09-06 09:01:34 +08:00
    同求,web 是可以做 snapshot 的,还可以用 headless browser 的 API,还可以用虚拟 DOM 去测,native 这块有老歌解答下怎么做自动化的吗
    louiswang002
        2
    louiswang002  
       2019-09-06 09:26:45 +08:00
    Appium jenkins
    eric1202
        3
    eric1202  
       2019-09-06 09:43:27 +08:00
    只要涉及的到人测试的 就不太容易完全一键部署了 顶多是 master 分支重复重复再重复了
    等待高手解答
    shuizhengqi
        4
    shuizhengqi  
       2019-09-06 10:50:32 +08:00
    一般 cd 都是不包含测试的。而且你一个人的话,搞个 cd 意义不大,脚本就直接搞了
    runze
        5
    runze  
       2019-09-06 11:00:22 +08:00
    CI 不是每一次提交都一定要测试的,CD 也不是测试通过就一定要部署的。

    比如可以每次提交都测试,只有特定分支 /tag 的提交才部署,这样就保留了人力参与测试的空间。
    runze
        6
    runze  
       2019-09-06 11:07:03 +08:00
    以前端为例:
    每次提交都过一遍 cypress,不考虑兼容,只保证既有功能的完整。同时每个功能变动都要有人工测试,重点是新功能和兼容问题,都测试通过之后再 merge 到特定分支,自动开始部署。
    CoCoMcRee
        7
    CoCoMcRee  
       2019-09-06 11:08:58 +08:00
    iOS 项目 使用 fastlane 一键 release 发到 AppStore 并自动推送 testflight, 上架提交还是要手动点的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1026 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:32 · PVG 04:32 · LAX 12:32 · JFK 15:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.