问题描述
研发反馈,有个App使用持续集成打包上传到应用商店后,PDF文件无法加载,但是本地打包的APP就没有这个问题。研发觉得持续集成打包有点不靠谱。
问题定位
兹事体大,为了不影响“上帝”的信心,及时找到问题的原因才是上策。
在开发的配合下,找到了持续集成打包的代码以及研发本地打包正确的代码,并通过工具进比较,很快确定了目标。持续集成下载的代码比研发打包正确的代码少了一个build文件夹的数据,该文件下包含了PDF相关字样的文件。
将发现反馈给开发,开发推断这可能是问题的原因。但是仍然不确定,因为开发反馈已经通过git将代码推送到gitlab了。于是,进一步到gitlab上找到对应的分支,检查代码,发现gitlab上确实没有该目录及文件。
然后到开发工位,多人见证的情况下,尝试通过git推送代码,发现确实无法将代码推送到gitlab,sourcetree工具也不行。另一个研发同事使用另一个工具也不行。只能通过gitlab的gui界面将文件推送上去。
思索半天,突然想到,会不会是因为gitlab的配置文件.gitiGnore里面做了配置导致的。 然后赶紧登录gitlab查看这个配置文件:
果真如此,确实存在这样一个规则,按照gitignore规则,红色配置意味着代码中build及build下的文件都不会被推送到gitlab上。至此,问题真相大白。
问题总结
App持续集成打包功能不正常,实际上是gitlab的gitignore配置惹的祸。
所以,使用gitlab保存代码的时候,如果设置了过滤规则,一定要小心の!