日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

aosp 本地版本管理_谈 DevOps 平台实施:我在本地跑明明成功的,为什么在你平台跑就报错?...

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 aosp 本地版本管理_谈 DevOps 平台实施:我在本地跑明明成功的,为什么在你平台跑就报错?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我在本地跑明明成功的,為什么在你平臺跑就報錯?

用戶在 Jenkins 上跑構建時,失敗了,把日志截圖給我看,如下圖:

在過去幾個月,每個星期都會有一兩個 Jenkins 用戶就會給我發送類似的錯誤日志。

這樣的日志,我通常回:請檢查你們的依賴,是不是有依賴沒有上傳到咱們的 Nexus 倉庫。驗證方法是先在本地刪除你的 .m2 目錄,然后再執行一次構建。

當用戶業務開發比較急的時候,他們還會說本文標題中的那句話。有些抱怨的意思。我都已經習慣了。

出現這樣的情況,我總結大概會有以下原因:

  • 用戶對于 Maven 這類構建工具不熟悉。

  • 用戶對于依賴管理不重視,或者沒有依賴管理的意識。

  • 用戶根本不看日志。

  • 面對這三個原因,我就在思考:我們 DevOps 平臺能做些什么呢?

    我覺得 DevOps 平臺是不是可以直截了當地告訴用戶:

    xxx 依賴在 Nexus 倉庫(maven.abc.com)中沒有找到,請您先 deploy 該依賴到 Nexus 倉庫后,再執行此任務。

    如果能檢測到缺少的依賴放在哪個代碼倉庫就更好了。因為這樣,就可以提示用戶直接到該代碼倉庫的 deploy 了。

    這樣的技術,我稱為依賴AI管理技術(笑)。當然,這樣的技術,應該可以應用于所有的語言。

    同時,我們將這些數據(依賴管理失誤)統計起來,就可以看出一個團隊在依賴管理方面的能力表現了,進而可以有效的對團隊進行培訓,以提高相應的能力。

    回到本文主題,當用戶自行檢查依賴后,大多數時候,用戶就不會來找我了,因為問題已經解決了。可是有一次,用戶還是說不行,他已經把 .m2 刪除,并把依賴包上傳到 Nexus 倉庫了。

    我檢查了他的 pom.xml 文件,發現版本號的定義也是正確的。可是,放在 Jenkins 上執行時,使用的還是舊版本的類的定義。

    這就奇怪了。這種情況還是頭一回遇到。來來回回檢查了好幾次,查了好久才知道,是因為用戶 deploy 依賴到 Nexus 時,deploy 的是相同的版本號,就是覆蓋了原來的版本的包,但是版本沒有升級。而 Maven 檢測到本地就該版本的依賴,就不會重新下載了。最后,就是大家看到的,本地可以,但是 Jenkins 上就是不行。

    最后的解決方式是:

  • 用戶 deploy 一個新的版本到 Nexus 倉庫,并在 pom.xml 中使用新的版本。

  • 我們將 Nexus 設置為不允許重復 deploy。

  • 小結

    經過這次事件,我們可以看出,依賴管理對于工程質量的重要性。因為,依賴管理不當,很有可能在連開發人員都不知情的情況下引入Bug。

    而 DevOps 平臺能實現依賴AI管理技術將有效的提升工程質量。

    END

    總結

    以上是生活随笔為你收集整理的aosp 本地版本管理_谈 DevOps 平台实施:我在本地跑明明成功的,为什么在你平台跑就报错?...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。