Nexus Repository3安裝和maven,npm配置(Linux)

来源:https://www.cnblogs.com/lowezheng/archive/2018/12/20/10149150.html
-Advertisement-
Play Games

Nexus Repository下載 根據操作系統選擇指定版本,本文針對Linux安裝,其他的安裝過程可能有所差異。 "https://help.sonatype.com/repomanager3/download/download archives repository manager 3" 安裝 ...


Nexus Repository下載

根據操作系統選擇指定版本,本文針對Linux安裝,其他的安裝過程可能有所差異。

https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3

安裝

建議先創建一個nexus用戶,將文件拷貝到/home/nexus


# 按具體下載文件名
tar -zxvf nexus-3.14.0-04-unix.tar.gz

# 按具體解壓目錄
cd nexus-3.14.0-04/bin


## 啟動
./nexus start
# ./nexus stop #停止
# ./nexus status # 查看狀態

配置修改

NexusRepository 預設占用8081埠,如果與其他服務有衝突,需要在sonatype-work/etc目錄下創建一個nexus.properties,

註意不是nexus-3.14.0-04下的etc
具體配置參考nexus-default.properties

## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature

Nexus不建議在root用戶下運行,需要創建用戶nexus用戶,修改bin/nexus.rc文件

run_as_user="nexus"

開機自啟動

開啟自啟動有init.d和systemd兩種方式。

init.d

1.創建一個nexus用戶

2.拷貝nexus的軟鏈接到init.d目錄
註意:最好在root做自啟動配置,省的沒許可權

# 原文件路徑按實際
ln -s /home/nexus/nexus-3.14.0-04/bin/nexus /etc/init.d/nexus

3.1 chkconfig 寫法(和3.2二選一)

cd /etc/init.d
chkconfig --add nexus
chkconfig --levels 345 nexus on

3.2 update-rc.d寫法(和3.1 二選一)

cd /etc/init.d
update-rc.d nexus defaults
service nexus start

4.切換到nexus用戶視窗,啟動服務

su nexus

service nexus start

systemd

前提是伺服器有安裝systemd工具,一般cenos7預設安裝。

創建一個nexus用戶

在/etc/systemd/system/ 目錄添加如下文件

nexus.service

[Unit]
Description=nexus service
After=network.target
  
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort
  
[Install]
WantedBy=multi-user.target
Activate the service with the following commands:

啟動服務命令

systemctl daemon-reload
systemctl enable nexus.service
systemctl start nexus.service

查看服務運行日誌

tail -f /opt/sonatype-work/nexus3/log/nexus.log

Maven倉庫配置

admin賬戶登錄,訪問Repository >Repositories,倉庫預設配置maven本地庫和代理庫

預設代理maven庫地址是https://repo1.maven.org/maven2/,可以修改

npm倉庫配置

npm倉庫不是內置的,需要手動配置,需要配置release,snapshots,proxy三個資源庫,同時通過public合併起來,對外提供服務

具體配置見下圖:




Maven私服使用

maven私服使用有兩種方式,你可以任選一種

1.在maven的setting.xml配置mirror

<mirrors>
     <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/mvn/view</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>jboss-public-repository-group</id>
        <mirrorOf>central</mirrorOf>
        <name>JBoss Public Repository Group</name>
        <url>http://repository.jboss.org/nexus/content/groups/public</url>
    </mirror>
    <mirror>
        <id>ibiblio</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
    </mirror>
    <mirror>
        <id>central</id>
        <name>Maven Repository Switchboard</name>
        <url>http://repo1.maven.org/maven2/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
        <id>repo2</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo2.maven.org/maven2/</url>
    </mirror>
</mirrors>

2.在具體項目的pom.xml文件配置資源庫

    <repositories>
        <repository>
            <id>nexus</id>
            <name>Nexus Repository</name>
            <url>http://192.168.3.28:8084/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <!--snapshots預設是關閉的,需要開啟  -->
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>  

npm私服使用

如上npm,npm的私服地址為http://192.168.3.28:8084/repository/npm-public/

建議安裝nrm工具,這樣可以快速切換npm的資源庫


# 安裝nrm
npm install -g nrm

# 添加資源庫
nrm add test http://192.168.3.28:8084/repository/npm-public/

# 切換資源庫
nrm use test

maven私服發佈

在pom.xml配置maven私服倉庫地址,有snapshot和release兩個倉庫

<distributionManagement>
        <repository>
            <id>nexus-maven-repository-releases</id>
            <url>http://192.168.3.28:8084/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-maven-repository-snapshots</id>
            <url>http://192.168.3.28:8084/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

npm私服發佈

自己開發的組件通過如下命令發佈到npm私服

#  用戶登錄
npm login 

# 編譯打包
npm init

# 發佈
npm publish

這時候你會發現發佈不上去,報401,即使你的用戶名和密碼都是對的

你需要將npm的認證組件在nexus中開啟

maven和npm發佈註意事項

npm和maven發佈都不能用group類型的資源庫,他們是沒有發佈許可權,只有拉取許可權,你需要找到對應group的hostd資源庫做發佈


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Windows -- cmd命令: ipconfig 和 nbtstat ...
  • 本章學習內容: 1.常見符號 2.命令分隔符-分號";" 3.雙分號 ";;" 4. '單引號和"雙引號 5.`反引號和$() 6.${}和$ 7.冒號: 8.()小括弧 9.(())雙括弧 10.{}大括弧 11.[]和[[]]之間的條件測試區別 12.~波浪號 13.延時 14.變數賦值的註意 ...
  • 有的時候我們需要批量創建文件做測試,為了做區分,一般只要稍稍動動文件名即可,MV命令既可以移動文件,也是可以修改文件名的,但批量修改文件名MV做不到,此時,我們可以用rename命令批量修改是蠻不錯的方法,當然也有其他方法的,具體如下: 語法: rename [ -v ] [ -n ] [ -f ] ...
  • 在客戶端向服務端發送http請求時,若返回狀態碼為304 Not Modified 則表明此次請求為條件請求。在請求頭中有兩個請求參數:If-Modified-Since 和 If-None-Match。 當客戶端緩存了目標資源但不確定該緩存資源是否是最新版本的時候, 就會發送一個條件請求。在進行條 ...
  • 最近剛入門SDK編程,在 我終於知道為什麼windowsApi學的人這麼少了 這篇文章中,確實發現了這樣的問題,我的教程使用VS2013->Windows桌面->win32,就誕生了能使用WinMain()的介面的Windows程式。而換成VS2017來編譯,卻發現問題不止這裡 首先,參考某些資料得 ...
  • iostat命令用途:主要用於監控系統設備的IO負載情況,iostat首次運行時顯示自系統啟動開始的各項統計信息,之後運行iostat將顯示自上次運行該命令以後的統計信息。用戶可以通過指定統計的次數和時間來獲得所需的統計信息。iostat有一個弱點,就是它不能對某個進程進行深入分析,僅對系統的整體情 ...
  • 一、SUID、SGID、SBIT簡介 SUID:對一個可執行文件,不是以發起者身份來獲取資源,而是以可執行文件的屬主身份來執行。SGID:對一個可執行文件,不是以發起者身份來獲取資源,而是以可執行文件的屬組身份來執行。SBIT:粘滯位,通常對目錄而言。通常對於全局可寫目錄(other也可寫)來說,讓 ...
  • 一、rocketMQ集群部署方案優缺點對比:多Master模式(2m-noslave) :一個集群無Slave,全是Master,例如2個Master或者3個Master優點:配置簡單,單個Master宕機或重啟維護對應用無影響,在磁碟配置為RAID10時,即使機器宕機不可恢復情況下,由於RAID1 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...