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

jenkins 部署 flutter 打包的问题

  •  
  •   gaotong2332 · 3 天前 · 1088 次点击
    有没有老哥用 jenkins 打包 flutter ,执行 flutter pub get 的时候会自动把所有 package 升级到最新版本,为什么没有按照 pubspec.lock 下载 package 。

    Jenkinsfile 代码:

    stage('Install Dependencies') {
    steps {
    sh 'flutter pub get'
    }
    }
    9 条回复    2024-06-27 09:28:50 +08:00
    crackidz
        1
    crackidz  
       3 天前
    在 pubspec 中直接固定版本而不是版本范围可破啊...
    gaotong2332
        2
    gaotong2332  
    OP
       3 天前
    @crackidz 项目引用的插件有点多,固定版本改挺多的
    AoEiuV020JP
        3
    AoEiuV020JP  
       3 天前
    看了下官方文档,确实是不应该有更新依赖的, 看看具体更新了什么包,会不会有什么特殊的原因,
    实际上我我不大喜欢这样 lock 限制版本的,尤其我现在多用 melos 管理多模块项目,lock 是全部 git ignore 的,
    AoEiuV020JP
        4
    AoEiuV020JP  
       3 天前
    反复测试了下, 发现两种情况, 会导致 pub get 修改 lock,
    1 ,lock 中的版本不满足 yaml 中的声明,比如刚改了 yaml 提升了版本号,
    2, flutter 自身的依赖,yaml 中并没用相关声明,当前 flutter 版本不同就会产生不同的 lock,
    gaotong2332
        5
    gaotong2332  
    OP
       3 天前
    @AoEiuV020JP 本机打包的时候,是会根据 lock 文件下载对应版本的 package ,只有在 jenkins 上打包的时候会遇到这个问题,真的挠头
    AoEiuV020JP
        6
    AoEiuV020JP  
       3 天前
    @gaotong2332 #5 最好能把 lock 文件 diff 出来看看改了什么,
    另外有没有“换镜像源”,源不同的话 lock 文件等于没有,
    jifengg
        7
    jifengg  
       3 天前
    我以前遇到 @AoEiuV020JP 提到的“换镜像源”导致 lock 没用的问题,解决办法就是统一源
    mybro
        8
    mybro  
       2 天前
    顺便问一下,mac 平台打包怎么做的?目前是用了一台 mac 专门来打包
    gaotong2332
        9
    gaotong2332  
    OP
       2 天前
    @mybro 也是有一台 mac 电脑专做打包,这台 mac 部署上 jenkins
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2627 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:28 · PVG 17:28 · LAX 02:28 · JFK 05:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.