|NO.Z.00023|——————————|CloudNative|——|CI/CD&Maven私服Nexus3.V04|---------------------------------------------|Maven私服Nexus3倉庫介紹|
阿新 • • 發佈:2022-03-28
[CloudNative:CI/CD&Maven私服Nexus3.V04] [Applications.CloudNative] [|CI/CD入門|程式碼上線方案|持續整合/持續交付/持續部署|maven私服nexus3|nexus3上傳jar包|常見錯誤|]
一、Maven私服Nexus3倉庫介紹:Nexus3倉庫介紹
二、Nexus3倉庫三種類型說明### --- 檢視Nexus3倉庫三種類型 ~~~ ——>點選“設定-Repositories”,就可以看到倉庫,分三種類型:
### --- Nexus3倉庫三種類型說明 ~~~ # proxy: ~~~ 是遠端倉庫的代理。比如說在nexus中配置了一個central repository的proxy, ~~~ 當用戶向這個proxy請求一個artifact,這個proxy就會先在本地查詢, ~~~ 如果找不到的話,就會從遠端倉庫下載,然後返回給使用者,相當於起到一箇中轉的作用。 ~~~ # Hosted: ~~~ 是宿主倉庫,使用者可以把自己的一些構件,deploy到hosted中, ~~~ 也可以手工上傳構件到hosted裡。比如說oracle的驅動程式,ojdbc6.jar, ~~~ 在central repository是獲取不到的,就需要手工上傳到hosted裡, ~~~ 一般用來存放公司自己的jar包;
三、關於Maven的Snapshot版本與Release版本~~~ # Group: ~~~ 是倉庫組,在maven裡沒有這個概念,是nexus特有的。 ~~~ 目的是將上述多個倉庫聚合,對使用者暴露統一的地址,這樣使用者就不需要在pom中配置多個地址, ~~~ 只要統一配置group的地址就可以了右邊那個Repository Path可以點選進去, ~~~ 看到倉庫中artifact列表。不過要注意瀏覽器快取, ~~~ 當你的專案希望在多個repository使用資源時就不需要多次引用了,只需要引用一個group即可 ~~~ # maven-public: ~~~ maven-central、maven-release和maven-snapshot三個庫的合集。 ~~~ # maven-release: ~~~ 用來存放release版本的jar包。 ~~~ # maven-snapshot: ~~~ 用來存放snapshot版本的jar包。
### --- Snapshot版本代表不穩定、尚處於開發中的版本
~~~ Release版本則代表穩定的版本
~~~ 什麼情況下該用SNAPSHOT? 協同開發時,如果A依賴構件B,
~~~ 由於B會更新,B應該使用SNAPSHOT來標識自己。
~~~ # 這種做法的必要性可以反證如下:
~~~ # 如果B不用SNAPSHOT,而是每次更新後都使用一個穩定的版本,那版本號就會升得太快,
~~~ 每天一升e68a84e8a2ade79fa5e9819331333363396362甚至每個小時一升,這就是對版本號的濫用。
~~~ 如果B不用SNAPSHOT, 但一直使用一個單一的Release版本號,
~~~ 那當B更新後,A可能並不會接受到更新。
~~~ # 因為A所使用的repository一般不會頻繁更新release版本的快取(即本地repository),
~~~ 所以B以不換版本號的方式更新後,A在拿B時發現本地已有這個版本,
~~~ 就不會去遠端Repository下載最新的B
~~~ # 不用Release版本,在所有地方都用SNAPSHOT版本行不行? 不行。正式環境中不得使用snapshot版本的庫。
~~~ 比如說,今天你依賴某個snapshot版本的第三方庫成功構建了自己的應用,
~~~ 明天再構建時可能就會失敗,因為今晚第三方可能已經更新了它的snapshot庫。
~~~ 你再次構建時,Maven會去遠端repository下載snapshot的最新版本,
~~~ 你構建時用的庫就是新的jar檔案了,這時正確性就很難保證了。
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)