最近将部门将Jenkins部署从本地mac打包机迁移到了服务器上,遇到一些问题,先记录一个大小写导致的问题。
问题
本地打包机编译flutter生成aar一直没有问题,Jenkins迁移后,构建依然成功,但aar没有上传到仓库中。
排查
测试仓库连通性没有问题,用本地打包机成功构建上传仓库,继续查看服务器上Jenkins构建日志发现有error产生,aar没有编译成功,因为flutter下还有其他aar一起生成,判断的是输出目录不为空就算构建成功,所以没注意到(对已有工具脚本不熟悉),观察error信息显示未能找到import进来的一个类,仔细对比后发现路径中有一个全小写path,开头字母写成了大写,修改后成功构建上传仓库
原因
因为之前Jenkins部署在mac环境中,对大小写不敏感,迁移到服务器后部署在linux环境中,严格区分大小写导致编译失败,暂时没找到android studio下flutter区分大小写编译的方法,只能以后多加注意,有知道的朋友烦请指教,感谢!
总结
两个需要注意的地方
- 对已有生产工具要做到知根知底,否则出了问题排查困难,找不到切入点。
- 多掌握一些基本常识,像这次的问题,windows/mac不区分大小写,linux严格区分大小写,知道了就能更快定位问题,也是经验的积累。