陳怡廷 发表于 2025-6-9 15:50:05

微服務打包部署問題

Product:som-icd (智委外)
Environment:華為雲測試區
問題描述:
我們部門目前athena開發者有2位,由於後來by 產品切開各自負責,每次som-icd (智委外) 微服務請A協助部署後,下一次換B部署時, B部署之結果必定報錯(如圖一、圖二是rancher log),但如果又交由A做是完全可正常完成, 我(人員B)嘗試比較微服務程式壓縮的zip內容(圖三、圖四) 僅 "Built-by" 與 "Maven產生時間" 2處不同(如圖五、圖六),不曉得部署機制是否有一些卡控?! 如圖七所示,我(人員B) 目前僅能手動將前一版(eg.1.0.0.1137)zip檔取下後, 將每次修改的class手動搬移覆蓋原程式版本(1.0.0.1137) zip之內容後,再打包上傳部署,才可正常部署成功,但隨著每次程式調整愈來愈多,這樣的手動調整太繁複會是個麻煩,故煩請協助確認排查,謝謝。
如有需要,還請告知如何聯繫,我可以提供程式1.0.0.1137與 1.0.0.1138版本的zip檔給你們確認,
但因為功能測試在即, 我將先手動處理zip file(可能是1.0.0.1139)讓程序往下先執行。

圖一、

圖二、

圖三、

圖四、

圖五、

圖六、

圖七、















翁俊 发表于 2025-6-9 16:33:09

内部确认中

翁俊 发表于 2025-6-9 17:39:59

本帖最后由 翁俊 于 2025-6-10 10:09 编辑

目前容器上面报错的内容提示是脚本没找到,如下图

问题原因:
通过上面的描述,在容器上面没有找到微服务工程里面的脚本,这个问题之前出现过,是由于打包人员的编辑软件编码格式不是UTF-8,或者是开发系统不是Linux 的 \n导致的,打包的时候,不是这个编码格式,打出的包文件中的脚本文件中内容格式就有问题,从而导致部署上容器报错,建议提单人对比下A和B的打包出的脚本文件内容差异,B用户部署失败是不是使用的编码不是UTF-8或者不是编码格式为LF-Unix and macOS导致打包的文件找不到脚本,
目前服务器上面文件编码必须是 UTF-8,换行符必须是 Linux 的 \n ,不能是 windows 的 \r\n

解决方式:
1、修改报错的开发本地编译软件的编码文件格式为UTF-8
2、修改系统编码格式为LF-Unix and macOS(\n)
2、从正确的开发那里把docker文件里面的复制到自己项目中替换
3、以上步骤调整完重新打包部署





页: [1]
查看完整版本: 微服務打包部署問題