久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Nexus3 內(nèi)網(wǎng)統(tǒng)一私庫:Maven/YUM/APT/npm 搭建與排錯(cuò)

Nexus3 內(nèi)網(wǎng)統(tǒng)一私庫:Maven/YUM/APT/npm 搭建與排錯(cuò) 內(nèi)網(wǎng)做構(gòu)建這件事最容易被低估的就是依賴獲取這一環(huán)。項(xiàng)目一多、語言一雜Maven 拉 jar、YUM 裝 rpm、APT 裝 deb、npm 裝 node 模塊四套東西各自連各自的公網(wǎng)源誰斷了都得停下等。我這邊的研發(fā)環(huán)境就是這么個(gè)情況十幾條流水線混著 Java、Go 打包腳本、CentOS 基礎(chǔ)鏡像和 Ubuntu 構(gòu)建機(jī)新人入職配一次環(huán)境要折騰大半天。后來用Nexus3在內(nèi)網(wǎng)做了一套統(tǒng)一私庫把maven、yum、apt、nodejs四類倉庫全部收口到一臺(tái)機(jī)器上配好之后客戶端只需要改一個(gè)地址就能跑通全流程。這篇就把這套私庫環(huán)境從選型、安裝、建倉、客戶端配置到排錯(cuò)按我實(shí)際落地的順序完整拆一遍參數(shù)和命令都能直接抄也把我踩過的幾個(gè)坑提前說出來。1. 方案先想清楚Nexus3 擺什么位置四類倉庫怎么分工動(dòng)手裝之前先把這臺(tái)機(jī)器到底承擔(dān)什么角色想明白比裝完再返工省事得多。私庫這東西本質(zhì)上是內(nèi)網(wǎng)和外網(wǎng)之間的一個(gè)緩存加中轉(zhuǎn)層它既要把公網(wǎng)的東西拉下來存住又要能收下團(tuán)隊(duì)自己產(chǎn)出的包還要在客戶端眼里只暴露一個(gè)統(tǒng)一的入口地址。Nexus3 恰好把這三種能力做成了三種倉庫類型proxy 負(fù)責(zé)代理外部源并緩存hosted 負(fù)責(zé)托管內(nèi)部產(chǎn)物group 負(fù)責(zé)把前兩者聚合成一個(gè) URL。理解了這一層后面四類倉庫的搭法其實(shí)是同一套邏輯換個(gè)協(xié)議而已。1.1 內(nèi)網(wǎng)直連公網(wǎng)的三個(gè)現(xiàn)實(shí)痛點(diǎn)第一個(gè)痛點(diǎn)是速度和穩(wěn)定性。公網(wǎng)源在國內(nèi)訪問經(jīng)常抖動(dòng)Maven 中央倉庫拉一個(gè)稍大的依賴樹就能拖到十幾分鐘npm 裝一個(gè)前端工程動(dòng)輒幾百個(gè)包一旦中途超時(shí)整個(gè)npm install從頭再來。私庫把包緩存在本地磁盤第二次開始就是千兆內(nèi)網(wǎng)速度差別非常直觀。第二個(gè)痛點(diǎn)是安全和審計(jì)。開發(fā)機(jī)的構(gòu)建腳本如果直接連公網(wǎng)源等于給每臺(tái)機(jī)器都開了對外的下載權(quán)限一旦某個(gè)公網(wǎng)包被投毒內(nèi)網(wǎng)很難察覺也沒法追溯到底是誰在什么時(shí)候引入了哪個(gè)版本。私庫把下載入口收斂成一臺(tái)機(jī)器所有包的進(jìn)出都有記錄還能在 hosted 倉庫里做白名單式的內(nèi)部包發(fā)布。第三個(gè)痛點(diǎn)是離線可用。很多能力受限的機(jī)房、隔離網(wǎng)段、臨時(shí)搭建的測試環(huán)境根本連不上公網(wǎng)這時(shí)候如果沒有一套本地倉庫整個(gè)編譯流程直接卡死。私庫里緩存過的依賴在斷網(wǎng)狀態(tài)下依然能完整安裝這對做交付、做演示、給客戶部署的場景尤其關(guān)鍵。把這三條想清楚你就知道這套東西不是錦上添花而是基礎(chǔ)設(shè)施的一部分。1.2 proxy、hosted、group 三種倉庫的定位差異很多人第一次打開 Nexus3 新建倉庫的界面會(huì)懵類型太多不知道選哪個(gè)。其實(shí)抓住三種角色的分工就清楚了。proxy是代理加緩存你給它一個(gè)遠(yuǎn)端 URL它第一次請求時(shí)去遠(yuǎn)端拉拉到之后存在本地之后同樣的請求直接命中緩存Maven 中央倉庫、npm 官方源、各發(fā)行版的 yum/apt 源都屬于這一類。hosted是托管內(nèi)部產(chǎn)物團(tuán)隊(duì)自己編譯出來的 jar、打好的 rpm、deb 包、私有 npm 模塊都往這里發(fā)。它不連外網(wǎng)只接受上傳和下載是內(nèi)部交付的唯一可信來源。hosted 又分 Release 和 Snapshot 兩種版本策略這個(gè)在 Maven 里尤其重要后面會(huì)細(xì)說。group是聚合入口它自己不存東西只是把若干個(gè) proxy 和 hosted 按順序拼在一起客戶端訪問 group 的地址時(shí)Nexus 依次去成員倉庫里找找到就返回。對客戶端來說永遠(yuǎn)只需要配一個(gè) group 地址既拿到了公網(wǎng)緩存又拿到了內(nèi)部包還省得在配置里寫一堆 URL。我一般給每個(gè)協(xié)議都建一個(gè) group命名統(tǒng)一成xxx-group客戶端配置里只出現(xiàn)這一個(gè)地址。1.3 部署形態(tài)選型Docker 拉起還是裸機(jī) installNexus3 官方提供兩種主流部署方式。Docker 方式最省事拉個(gè)鏡像掛個(gè)數(shù)據(jù)卷就能跑升級就是換個(gè) tag回滾就是換回舊 tag對不熟悉 Java 服務(wù)的人特別友好。裸機(jī)安裝是把官方 tar 包解壓到某個(gè)目錄再用 systemd 托管好處是不依賴容器運(yùn)行時(shí)資源占用略低出問題時(shí)排查鏈路更短。我實(shí)際兩套都跑過。開發(fā)測試環(huán)境用 Docker因?yàn)樾枰l繁重建生產(chǎn)性的私庫用裸機(jī)因?yàn)檫@臺(tái)機(jī)器上還掛著別的服務(wù)不想再引入一層容器網(wǎng)絡(luò)。判斷標(biāo)準(zhǔn)很簡單你的機(jī)器上已經(jīng)有成熟的容器運(yùn)維體系就選 Docker如果是一臺(tái)孤立的虛擬機(jī)、后續(xù)沒人專門維護(hù)容器就裸機(jī)。兩種方式的數(shù)據(jù)目錄都是同一個(gè)結(jié)構(gòu)遷移時(shí)把數(shù)據(jù)目錄拷過去就行所以先選哪個(gè)都不算鎖死。2. 部署前的資源估算與 Nexus3 落地安裝資源這塊不能拍腦袋給少了后面 OOM給多了浪費(fèi)。我按自己的經(jīng)驗(yàn)給一套估算方法然后分別給出 Docker 和裸機(jī)的完整落地步驟。2.1 JVM 堆、磁盤和內(nèi)存的估算過程N(yùn)exus3 是個(gè) Java 應(yīng)用跑在 JVM 里默認(rèn)的最大堆是 2703MB。這個(gè)數(shù)字不是隨便定的官方給的經(jīng)驗(yàn)是堆內(nèi)存至少要能放下你最大單次請求涉及的對象而私庫場景里最大的一塊通常是首次代理一個(gè)大依賴樹或者一個(gè)大鏡像層時(shí)的臨時(shí)緩沖。我的估算方式是基礎(chǔ)堆 2GB 打底然后看你的倉庫規(guī)模。如果只是給幾十個(gè)項(xiàng)目做 Maven 加 npm 代理2GB 到 4GB 足夠。如果還要緩存大量 rpm/deb 并且并發(fā)構(gòu)建機(jī)器超過二十臺(tái)建議給到 6GB 到 8GB物理內(nèi)存留出堆的 1.5 到 2 倍因?yàn)?JVM 除了堆還有直接內(nèi)存、元空間、線程棧和文件緩存。磁盤是另一個(gè)大頭。Nexus3 的數(shù)據(jù)目錄里blob store 會(huì)隨著緩存不斷增長。一個(gè)中等規(guī)模的 Java 團(tuán)隊(duì)一年下來 Maven 緩存吃掉 50GB 到 200GB 很正常如果還代理 npm 和系統(tǒng)包翻倍也不奇怪。我的做法是數(shù)據(jù)目錄單獨(dú)掛一塊盤初始給 500GB配好清理策略并且提前把監(jiān)控做上別等到磁盤寫滿才發(fā)現(xiàn)。提示Nexus3 官方鏡像里 JVM 參數(shù)通過環(huán)境變量INSTALL4J_ADD_VM_PARAMS傳入裸機(jī)安裝則改bin/nexus.vmoptions。改完必須重啟進(jìn)程才生效在線改文件沒用。場景建議堆內(nèi)存建議磁盤說明個(gè)人或小團(tuán)隊(duì)只做 Maven 代理2GB100GB單機(jī)夠用注意清理中型團(tuán)隊(duì)Maven npm4GB500GB并發(fā)十臺(tái)以內(nèi)比較穩(wěn)多語言混合含 yum/apt6GB 到 8GB1TB需要配清理策略和監(jiān)控2.2 Docker 方式十幾分鐘拉起一個(gè)可用的私庫先建好數(shù)據(jù)目錄并授權(quán)。Nexus3 容器內(nèi)以 uid 200 運(yùn)行宿主機(jī)目錄權(quán)限不對會(huì)直接啟動(dòng)失敗這一步很多人會(huì)漏。sudo mkdir -p /data/nexus-data sudo chown -R 200:200 /data/nexus-data sudo chmod -R 775 /data/nexus-data然后用官方鏡像啟動(dòng)。注意把 JVM 參數(shù)和數(shù)據(jù)目錄一起傳進(jìn)去順便把 Java 的 preferences 目錄也指到數(shù)據(jù)卷里避免容器重建后配置丟失。docker run -d \ --name nexus3 \ --restart always \ -p 8081:8081 \ -v /data/nexus-data:/nexus-data \ -e INSTALL4J_ADD_VM_PARAMS-Xms4g -Xmx4g -XX:MaxDirectMemorySize4g -Djava.util.prefs.userRoot/nexus-data/javaprefs \ sonatype/nexus3:3.70.1啟動(dòng)完成后docker logs -f nexus3觀察日志出現(xiàn)Started Sonatype Nexus字樣就說明起來了。第一次啟動(dòng)會(huì)初始化數(shù)據(jù)庫通常要一到三分鐘機(jī)器慢的話更久別急著判定失敗。注意數(shù)據(jù)目錄權(quán)限問題是 Nexus3 啟動(dòng)失敗最常見的原因日志里一般會(huì)提示Permission denied或者直接卡住不輸出。遇到先查目錄屬主再查 SELinux。2.3 裸機(jī)安裝與 systemd 托管裸機(jī)安裝的步驟是先準(zhǔn)備 JDK再解壓 tar 包最后寫成 systemd 服務(wù)。Nexus3 各版本對 JDK 的要求不一樣3.6x 之后的版本普遍要求 JDK 8 或 11動(dòng)手前一定去確認(rèn)對應(yīng)版本的官方要求別隨便裝個(gè)新版 JDK 上去。# 以 JDK 11 為例路徑按你實(shí)際安裝位置調(diào)整 sudo mkdir -p /opt/nexus sudo tar -zxvf nexus-3.70.1-02-unix.tar.gz -C /opt/nexus --strip-components1 sudo useradd -r -s /sbin/nologin nexus sudo chown -R nexus:nexus /opt/nexus改bin/nexus.vmoptions把堆參數(shù)調(diào)成你估算的值-Xms4g -Xmx4g -XX:MaxDirectMemorySize4g -XX:UnlockDiagnosticVMOptions -XX:LogVMOutput -XX:LogFile../sonatype-work/nexus3/log/jvm.log接著寫 systemd 單元讓進(jìn)程跟著系統(tǒng)啟動(dòng)崩潰也能自動(dòng)拉起來[Unit] DescriptionNexus Repository Manager Afternetwork.target [Service] Typeforking LimitNOFILE65536 ExecStart/opt/nexus/bin/nexus start ExecStop/opt/nexus/bin/nexus stop Usernexus Restarton-abort [Install] WantedBymulti-user.target寫完執(zhí)行systemctl daemon-reload再systemctl enable --now nexus。這里有個(gè)容易忽略的點(diǎn)LimitNOFILE要給足私庫并發(fā)高的時(shí)候文件句柄消耗很快默認(rèn) 1024 會(huì)在壓力上來后出現(xiàn)莫名其妙的連接失敗。我給到 65536實(shí)測很穩(wěn)。2.4 首次登錄必須做的三件事新版本 Nexus3 的初始密碼不再固定是admin/admin123而是隨機(jī)生成后寫在一個(gè)文件里Docker 方式在/nexus-data/admin.password裸機(jī)在sonatype-work/nexus3/admin.password。cat /data/nexus-data/admin.password拿到密碼后用admin登錄http://你的IP:8081系統(tǒng)會(huì)引導(dǎo)你改密碼。改完密碼只是第一步另外三件事我建議當(dāng)天就做完第一關(guān)掉匿名訪問或明確配置匿名可讀范圍第二刪掉默認(rèn)的 demo 倉庫避免誤用第三建一個(gè)專用的deploy用戶只給上傳權(quán)限CI 里用這個(gè)賬號不要用 admin。這三件事看著瑣碎但直接決定了后面私庫是不是安全可控。我見過不少環(huán)境圖省事一直用 admin 給所有客戶端發(fā)憑據(jù)一旦泄露就是全庫可寫可刪補(bǔ)救成本極高。3. Maven 私庫搭建hosted、proxy、group 三件套怎么拼Maven 是這套私庫里用得最多的部分也是最容易配錯(cuò)的部分。我的做法是固定建三個(gè)倉庫一個(gè) hosted 收內(nèi)部包一個(gè) proxy 代理中央倉庫一個(gè) group 把兩者聚合客戶端只認(rèn) group。3.1 建倉庫的順序和命名規(guī)范順序上建議先 hosted再 proxy最后 group因?yàn)?group 的成員列表在創(chuàng)建時(shí)就要選前面的沒建好后面選不到。命名我用固定的后綴區(qū)分maven-releases、maven-snapshots、maven-central、maven-public。這樣一看名字就知道類型后期維護(hù)和交接都省心。hosted 倉庫分兩個(gè)是刻意的。Release 版本的包一旦發(fā)布就不應(yīng)該被覆蓋Snapshot 版本可以反復(fù)覆蓋發(fā)布。把兩者分開可以在組策略和清理策略上差異化處理比如給 Snapshot 配定期清理給 Release 配置為不可重復(fù)部署。這個(gè)區(qū)分在做正式交付的時(shí)候非常有用。3.2 proxy 代理中央倉庫的幾個(gè)關(guān)鍵參數(shù)新建 maven2(proxy) 時(shí)遠(yuǎn)端地址填https://repo1.maven.org/maven2/其余參數(shù)大部分可以用默認(rèn)值但有兩個(gè)地方我調(diào)整過。一個(gè)是版本策略proxy 的Version policy保持Mixed即可因?yàn)橹醒雮}庫里既有 release 也有 snapshot。另一個(gè)是緩存過期時(shí)間默認(rèn)的Not Found Cache TTL是 1440 分鐘意思是某個(gè)包如果確定不存在1440 分鐘內(nèi)不再去遠(yuǎn)端查詢。這個(gè)值對內(nèi)網(wǎng)體驗(yàn)影響很大遇到構(gòu)建突然報(bào)找不到某個(gè)剛發(fā)布的版本先想想是不是被這個(gè)緩存擋了臨時(shí)可以把值改小或者手動(dòng)清理緩存。如果你的環(huán)境有穩(wěn)定的國內(nèi)鏡像可用也可以再建一個(gè) proxy 指向它然后在 group 里排到中央倉庫前面命中率更高。但要記住無論后面掛幾個(gè) proxy客戶端配置里永遠(yuǎn)只出現(xiàn) group 地址這是這套設(shè)計(jì)能穩(wěn)定運(yùn)行的前提。3.3 settings.xml 與 pom.xml 可直接抄的配置客戶端側(cè)主要改兩個(gè)文件。全局的settings.xml配鏡像和憑據(jù)項(xiàng)目的pom.xml配發(fā)布地址。先看settings.xml把鏡像指向 group同時(shí)在 servers 里放上傳憑據(jù)settings mirrors mirror idnexus/id namenexus private maven/name urlhttp://192.168.1.100:8081/repository/maven-public//url mirrorOf*/mirrorOf /mirror /mirrors servers server idnexus-releases/id usernamedeploy/username password你的部署密碼/password /server server idnexus-snapshots/id usernamedeploy/username password你的部署密碼/password /server /servers /settings這里mirrorOf用*表示接管所有倉庫請求。有人會(huì)擔(dān)心這樣連不上其他私有源解決辦法是在 group 里把那些源也建成 proxy 成員而不是在客戶端放開多個(gè)鏡像。保持客戶端配置單一后期換地址只需要改一處。pom.xml里加發(fā)布地址distributionManagement repository idnexus-releases/id urlhttp://192.168.1.100:8081/repository/maven-releases//url /repository snapshotRepository idnexus-snapshots/id urlhttp://192.168.1.100:8081/repository/maven-snapshots//url /snapshotRepository /distributionManagement配好之后mvn deploy就能把包推到私庫其他項(xiàng)目通過mvn clean package自動(dòng)從 group 拉取。3.4 快照版本與發(fā)布版本的策略區(qū)別這塊是我踩坑最多的地方。Release 倉庫默認(rèn)策略是Disable redeploy也就是同一個(gè)版本號不允許重復(fù)發(fā)布這是為了保證金版本不可變。如果你調(diào)試時(shí)反復(fù)發(fā)同一個(gè)版本號會(huì)收到 400 錯(cuò)誤報(bào)錯(cuò)信息里會(huì)提到 redeploy。解決辦法是要么升版本號要么臨時(shí)把倉庫策略改成 Allow redeploy但正式環(huán)境千萬別改否則版本就失去可信度了。Snapshot 倉庫則相反允許覆蓋每次發(fā)布自動(dòng)帶時(shí)間戳后綴??蛻舳死?snapshot 時(shí)會(huì)檢查遠(yuǎn)程的maven-metadata.xml所以如果你本地mvn -U還是拿到舊包很可能是 metadata 緩存沒刷新可以手動(dòng)觸發(fā)一次更新或者等緩存過期。實(shí)操心得給 Snapshot 倉庫單獨(dú)配一條清理策略比如保留最近 30 天或者每個(gè)包最多保留 10 個(gè)快照。不做這件事快照目錄會(huì)以肉眼可見的速度膨脹半年就能吃掉幾百 GB。4. YUM 私庫把 RPM 統(tǒng)一收口Java 團(tuán)隊(duì)之外只要涉及 CentOS、RHEL 一類的系統(tǒng)鏡像構(gòu)建就繞不開 YUM。私庫里做 YUM 的價(jià)值在于內(nèi)網(wǎng)機(jī)器不再需要各自配置一堆外網(wǎng)源所有 rpm 從一處下發(fā)離線環(huán)境也能裝。4.1 yum hosted 與 yum proxy 的建法差異新建時(shí)選yum (proxy)或yum (hosted)。proxy 的遠(yuǎn)端地址填你要代理的發(fā)行版源比如某個(gè)穩(wěn)定鏡像站的centos/7/os/x86_64/路徑hosted 不填遠(yuǎn)端只等著你上傳 rpm。這里有個(gè)版本相關(guān)的細(xì)節(jié)必須提前確認(rèn)Nexus3 對 yum hosted 的支持在較新版本才完善早期版本上傳 rpm 后不會(huì)自動(dòng)生成 repodata客戶端會(huì)直接報(bào)找不到元數(shù)據(jù)。如果你用的是老版本要么升級要么用createrepo在倉庫目錄里手動(dòng)生成后上傳。我建議直接升到較新的 3.x 版本能省掉大量手工維護(hù)元數(shù)據(jù)的工作。4.2 客戶端 repo 文件怎么寫客戶端只改一個(gè).repo文件指向 yum group[nexus-yum] nameNexus YUM Repository baseurlhttp://192.168.1.100:8081/repository/yum-group/ enabled1 gpgcheck0gpgcheck0只是內(nèi)網(wǎng)圖省事的寫法正式環(huán)境應(yīng)該把公鑰下發(fā)到/etc/pki/rpm-gpg/并把gpgcheck打開。改完文件執(zhí)行yum clean all再yum makecache緩存建起來之后再裝包就是內(nèi)網(wǎng)速度。注意改了源之后一定要先yum clean all否則老緩存還在會(huì)繼續(xù)走舊地址讓人誤以為配置沒生效。4.3 批量上傳 RPM 的三種姿勢第一種是界面手動(dòng)上傳適合零散幾個(gè)包缺點(diǎn)是包多了效率極低。第二種是curl PUT 上傳適合腳本化curl -v -u deploy:你的密碼 \ --upload-file ./nginx-1.24.0-1.el7.x86_64.rpm \ http://192.168.1.100:8081/repository/yum-hosted/Packages/n/nginx-1.24.0-1.el7.x86_64.rpm路徑里的Packages/n/只是目錄慣例方便按首字母歸類不影響功能Nexus 會(huì)自動(dòng)識別 rpm 內(nèi)容并更新元數(shù)據(jù)。第三種是從 proxy 緩存里提升到 hosted如果你已經(jīng)通過 proxy 拉過某個(gè)包可以直接在界面上把它移動(dòng)到 hosted 倉庫省一次下載。批量場景我一般寫個(gè)循環(huán)腳本把本地一個(gè)目錄里的 rpm 全部推上去幾百個(gè)包幾分鐘就能跑完。4.4 元數(shù)據(jù)刷新與校驗(yàn)上傳完成后去 hosted 倉庫的 Browse 里看是否出現(xiàn)repodata目錄里面應(yīng)該有repomd.xml和若干primary文件。有就說明元數(shù)據(jù)生成成功??蛻舳诉@邊如果yum install報(bào)Cannot retrieve repository metadata按三個(gè)方向查網(wǎng)絡(luò)能不能通、baseurl 路徑對不對、group 的成員順序?qū)Σ粚?。group 成員順序這件事容易被忽略。如果你的 hosted 里有一個(gè)包、proxy 里也有同名不同版本的包group 會(huì)按成員列表順序去找先命中誰就用誰。想讓內(nèi)部包優(yōu)先就把 hosted 放到成員列表最前面。5. APT 私庫給 Debian、Ubuntu 做內(nèi)網(wǎng)源APT 這套的邏輯和 YUM 類似但多了簽名密鑰這一環(huán)配置不當(dāng)會(huì)一直卡在apt update報(bào)簽名錯(cuò)誤上所以單獨(dú)拎出來講清楚。5.1 apt hosted 與 apt proxy 的建立創(chuàng)建時(shí)選apt (hosted)或apt (proxy)。hosted 需要填兩個(gè)關(guān)鍵項(xiàng)Distribution比如bionic、focal、jammy這類發(fā)行版代號和Signing Key。簽名密鑰是 APT 體系和 YUM 最大的區(qū)別客戶端默認(rèn)會(huì)校驗(yàn)包和索引的簽名沒有正確的公鑰就會(huì)直接拒絕更新。我的建議是單獨(dú)生成一對專用密鑰導(dǎo)出私鑰粘貼到 Nexus 的 Signing Key 配置里把公鑰保存好下發(fā)給客戶端。用現(xiàn)成的通用密鑰雖然省事但一旦密鑰輪換就是全量客戶端重配不如一開始就規(guī)劃清楚。5.2 sources.list 與公鑰落地客戶端配置寫在/etc/apt/sources.list或/etc/apt/sources.list.d/下的獨(dú)立文件里deb http://192.168.1.100:8081/repository/apt-group/ focal main然后是公鑰。把 Nexus 上導(dǎo)出的公鑰復(fù)制到客戶端后執(zhí)行導(dǎo)入sudo gpg --dearmor -o /usr/share/keyrings/nexus-apt.gpg nexus-public.key再回到 sources 文件里加上簽名引用形如[signed-by/usr/share/keyrings/nexus-apt.gpg]。這樣做的目的是把信任范圍限定到這一個(gè)倉庫不影響系統(tǒng)其他源的校驗(yàn)邏輯比直接把 key 加進(jìn)全局 trusted 列表干凈得多。改完執(zhí)行sudo apt update看到倉庫地址被正常讀取、沒有簽名報(bào)錯(cuò)就說明通了。5.3 上傳 deb 包與 dists 目錄結(jié)構(gòu)deb 包上傳同樣支持 curlcurl -v -u deploy:你的密碼 \ --upload-file ./mytool_1.0.0_amd64.deb \ http://192.168.1.100:8081/repository/apt-hosted/上傳后 Nexus 會(huì)在倉庫里維護(hù)dists/Distribution/和pool/結(jié)構(gòu)apt update讀取的就是dists下的Release和Packages索引。如果你上傳后客戶端報(bào)404八成是 Distribution 名字和 sources 里寫的對不上比如倉庫建的是jammy客戶端寫的卻是focal這種錯(cuò)看起來是網(wǎng)絡(luò)問題其實(shí)是配置不一致。5.4 apt update 報(bào)錯(cuò)的定位方法APT 的報(bào)錯(cuò)信息其實(shí)很直白按關(guān)鍵字對號入座就行??吹絅O_PUBKEY或者signature verification failed說明公鑰沒導(dǎo)入或者signed-by路徑寫錯(cuò)看到404 Not Found先核對 baseurl、Distribution、組件名三者是否和倉庫配置一致看到Could not resolve或者超時(shí)那是網(wǎng)絡(luò)層的問題先curl一下倉庫地址看能不能通。我遇到過一次特別隱蔽的情況客戶端報(bào)簽名錯(cuò)誤但公鑰明明導(dǎo)入了。最后發(fā)現(xiàn)是密鑰過期時(shí)間設(shè)置得太短半年后就失效了。所以生成密鑰時(shí)有效期至少給幾年并且把輪換計(jì)劃寫進(jìn)運(yùn)維文檔別讓它在你忘記的時(shí)候突然爆掉。6. Node.js 私庫npm 代理加私有包前端工程對私庫的依賴程度可能是四類里最高的因?yàn)閚pm install一次要拉幾百個(gè)包公網(wǎng)速度直接決定構(gòu)建時(shí)長。6.1 npm 三倉庫的建立與 group 順序和 Maven 一樣建三個(gè)npm-hosted放私有包npm-proxy代理官方源遠(yuǎn)端地址https://registry.npmjs.orgnpm-group聚合兩者。group 成員順序建議 hosted 在前這樣私有包名和公網(wǎng)包名沖突時(shí)優(yōu)先命中內(nèi)部版本避免裝錯(cuò)包。有個(gè)細(xì)節(jié)值得強(qiáng)調(diào)Nexus3 的 npm 代理在部分版本上對npm audit和某些元數(shù)據(jù)接口的支持不完整如果團(tuán)隊(duì)重度依賴npm audit可能需要額外配一個(gè)直連場景或者關(guān)掉相關(guān)檢查。這屬于版本特性差異遇到不要硬杠先確認(rèn)你用的 Nexus 版本對 npm 的支持清單。6.2 .npmrc 的工程級配置客戶端配置分兩層。全局的~/.npmrc影響所有項(xiàng)目工程級的.npmrc只影響當(dāng)前項(xiàng)目。我一般把源地址寫進(jìn)工程級配置并提交到代碼庫讓團(tuán)隊(duì)成員克隆下來就能用registryhttp://192.168.1.100:8081/repository/npm-group/ strict-sslfalse如果私庫上了 HTTPS 并用了自簽證書strict-ssl的處理要謹(jǐn)慎穩(wěn)妥做法是把 CA 證書裝到系統(tǒng)信任鏈里而不是一律關(guān)校驗(yàn)。上傳私有包時(shí)還需要認(rèn)證可以用npm login或者直接在.npmrc里配_auth字段。6.3 發(fā)布私有包與 scope 綁定私有包建議統(tǒng)一用 scope比如mycompany/utils并在.npmrc里把 scope 和倉庫綁定mycompany:registryhttp://192.168.1.100:8081/repository/npm-hosted/這樣npm publish時(shí)帶 scope 的包會(huì)自動(dòng)發(fā)到 hosted不帶 scope 的走默認(rèn) registry。綁定 scope 的好處是避免了發(fā)布方向的歧義也方便在 group 里做路由控制。實(shí)操心得發(fā)布前一定在.npmrc里把認(rèn)證信息配好否則npm publish會(huì)返回 401 或 403。CI 環(huán)境里用環(huán)境變量注入憑據(jù)不要把 token 硬編碼進(jìn)倉庫。6.4 緩存、離線與 CI 場景npm 私庫最直接的收益體現(xiàn)在 CI 上。同一條流水線第二次構(gòu)建時(shí)所有依賴都命中內(nèi)網(wǎng)緩存npm ci的時(shí)間能從幾分鐘壓到幾十秒。如果再配合把node_modules或者 npm 緩存目錄做持久化效果更明顯。為了控制磁盤我給 npm proxy 配了緩存清理策略把長期沒人訪問的包定期刪掉。但要注意清理策略刪的是緩存不是內(nèi)部包hosted 倉庫的包不會(huì)受影響。配置時(shí)看清楚作用范圍別把 hosted 也掃進(jìn)去那會(huì)把團(tuán)隊(duì)發(fā)布的私有包誤刪。7. 常見問題速查與排查手法這套環(huán)境跑起來之后日常遇到的問題集中在幾個(gè)固定方向我把它們整理成速查形式遇到直接對號入座。7.1 上傳類錯(cuò)誤怎么讀上傳失敗最常見的三個(gè)狀態(tài)碼401是認(rèn)證沒通過檢查用戶名密碼或者 token403是認(rèn)證過了但沒有寫權(quán)限檢查這個(gè)用戶有沒有對應(yīng)倉庫的nx-repository-view-*-*-add權(quán)限400多見于 Maven 重復(fù)發(fā)布 release 版本或者路徑不符合倉庫約定。有一個(gè)特別容易誤判的情況Maven 上傳時(shí)報(bào) 400 并提到redeploy很多人以為是權(quán)限問題去改用戶其實(shí)是版本策略擋的??吹竭@個(gè)關(guān)鍵字直接去改策略或者升版本號。7.2 客戶端拉取超時(shí)和 404 的定位順序遇到客戶端拉不到包我固定按這個(gè)順序查第一步確認(rèn)倉庫地址能通用 curl 訪問 group 的根路徑返回 200 說明服務(wù)正常第二步確認(rèn)包在不在直接在界面 Browse 里搜包名看它在哪個(gè)成員倉庫里第三步確認(rèn) group 成員配置有沒有漏加或者順序錯(cuò)了第四步查緩存過期404 被緩存住的情況在老版本里很常見清理一下對應(yīng)倉庫的緩存就好。這個(gè)順序的好處是從大到小逐層收斂不用一上來就翻日志。真到第四步還解決不了再去翻nexus.log里面會(huì)有到遠(yuǎn)端請求的詳細(xì)記錄。7.3 磁盤告警與清理策略磁盤是私庫最現(xiàn)實(shí)的瓶頸。我的做法是每個(gè)倉庫單獨(dú)配清理策略而不是全局一把抓。Maven snapshot 保留最近 30 天npm proxy 只保留最近 90 天被訪問過的包系統(tǒng)包緩存保留版本數(shù)上限。同時(shí)給數(shù)據(jù)目錄做磁盤水位監(jiān)控超過 80% 就告警。需要提醒的是清理策略是定期任務(wù)不是實(shí)時(shí)執(zhí)行配置完要手動(dòng)跑一次或者等調(diào)度周期到才會(huì)生效。別配完就以為空間立刻回來了我見過有人等了半天以為策略沒生效其實(shí)是任務(wù)還沒跑。7.4 備份、遷移和擴(kuò)容備份的黃金法則是備份數(shù)據(jù)目錄而不是備份容器。Nexus3 的所有配置、倉庫內(nèi)容、用戶信息都落在數(shù)據(jù)目錄下的 blob store 和數(shù)據(jù)庫里把整個(gè)目錄 rsync 出來就是完整備份。Docker 環(huán)境把/nexus-data備份走裸機(jī)把sonatype-work/nexus3備份走。遷移時(shí)新機(jī)器裝好同版本 Nexus把數(shù)據(jù)目錄拷過去權(quán)限改成對應(yīng)用戶啟動(dòng)即可。這里有個(gè)大坑目標(biāo)機(jī)器的 Nexus 版本不能低于源機(jī)器否則數(shù)據(jù)結(jié)構(gòu)不兼容會(huì)啟動(dòng)失敗。升級路徑永遠(yuǎn)是先升程序再遷數(shù)據(jù)別反過來。擴(kuò)容主要針對 blob store。Nexus3 支持把 blob store 放到獨(dú)立磁盤甚至共享存儲(chǔ)上數(shù)據(jù)量大了之后可以直接把 blob store 目錄換到更大的盤改配置重啟即可不需要重建倉庫。8. 我在實(shí)際搭建中踩過的坑和積累的小技巧前面講了標(biāo)準(zhǔn)流程這一節(jié)說點(diǎn)文檔里不太會(huì)寫、但實(shí)際會(huì)絆人的細(xì)節(jié)。8.1 權(quán)限別只給能上傳一開始我給 CI 用的deploy用戶只加了上傳權(quán)限結(jié)果發(fā)布 npm 包時(shí)一直 403排查半天才發(fā)現(xiàn) npm 發(fā)布除了寫權(quán)限還需要對倉庫的讀取權(quán)限因?yàn)樗l(fā)布前要先檢查包是否存在。后來給這個(gè)用戶補(bǔ)上了read和browse問題就沒了。所以配權(quán)限時(shí)別只盯著寫讀取和瀏覽通常也得給。8.2 反向代理和上下文路徑的配合把 Nexus 放到反向代理后面時(shí)最容易出問題的是上下文路徑。如果對外暴露的路徑前綴不是根路徑需要在 Nexus 里配置Base URL或者在代理層做路徑重寫否則界面里的資源鏈接會(huì)指向錯(cuò)誤的地址表現(xiàn)為頁面加載一半就失效。最省事的做法是讓 Nexus 的 Base URL 和代理對外地址完全一致不要做多余的路徑變換。8.3 關(guān)于密碼和密鑰的幾條經(jīng)驗(yàn)初始密碼要第一時(shí)間改改完把文件刪掉CI 憑據(jù)走環(huán)境變量注入不要提交到代碼庫APT 的簽名密鑰有效期給足并且記錄輪換計(jì)劃Maven 的部署密碼和登錄密碼不要用同一個(gè)。這些都是小事但每一條出問題都會(huì)變成大事。8.4 一次版本不匹配引發(fā)的連鎖反應(yīng)有一次我在測試機(jī)上升級了 Nexus把數(shù)據(jù)目錄直接拷到舊版本的機(jī)器上想回滾結(jié)果啟動(dòng)直接失敗日志里報(bào)數(shù)據(jù)結(jié)構(gòu)版本不兼容。后來才知道 Nexus 的數(shù)據(jù)庫有 schema 版本號只能向前不能向后。從那以后我給自己定了一條規(guī)矩升級前一定做完整的數(shù)據(jù)目錄快照回滾用快照而不是降級程序。這條比什么優(yōu)化技巧都重要。另一個(gè)小技巧是關(guān)于首次緩存的預(yù)熱。新搭好的私庫第一次給團(tuán)隊(duì)用大家同時(shí)拉依賴會(huì)很慢因?yàn)槎荚诘却砣ミh(yuǎn)端拉。我一般挑幾個(gè)大項(xiàng)目的構(gòu)建先跑一遍把熱門依賴提前緩存進(jìn)私庫等團(tuán)隊(duì)切過來的時(shí)候命中率已經(jīng)很高了體驗(yàn)會(huì)好很多。這個(gè)操作不復(fù)雜但對推廣私庫很有幫助畢竟大家最在意的就是切過去之后是不是真的更快了。最后再補(bǔ)一個(gè)小細(xì)節(jié)關(guān)于客戶端配置的下發(fā)。人一多最麻煩的不是搭私庫而是讓所有人把客戶端配置改對。我的做法是寫一段幾行的初始化腳本Maven 用settings.xml模板覆蓋npm 用工程級.npmrc提交到代碼庫yum 和 apt 的源文件用配置管理工具統(tǒng)一下發(fā)。這樣新人進(jìn)來跑一個(gè)腳本就配好了也不會(huì)有人漏改某一條導(dǎo)致構(gòu)建行為不一致。搭私庫這件事真正的成本從來不在服務(wù)端而在讓整個(gè)團(tuán)隊(duì)用得整齊。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
av网站在线观看了| 国产热av| 国产午夜激片Av毛片不卡| 一区二区三区看视频| 4141514逼喷水三级片| 一级A片女人高潮叫床| 麻豆美女丝袜人妻中文| 亚洲熟妇白浆无码AV| 九九热九九热| 亚洲九区| 顶级丝袜熟女一区二区三区| 欧美黄色大片在线观看 | 久久东京国产精品视频| 操人人| 人妻美腿丝袜日韩| 91麻豆一二三区| 91在线欧色| 又粗又长又爽在线观看| 91人妻在线视频| 麻豆福利视频导航| 啊啊啊97视频| 久久手机好看网站| 防屏蔽在线视频| 国产懂色精品国产av| 精品免费视频国产一区| 人人操欧美风骚| 超碰97人人乐| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 欧美91精彩| 按摩中文字幕| 欧美熟妇乱码在线一区| 日本少妇va7777| 高清不卡一二三区视频......| 亚洲精品亚洲人成人网| 激情五月丁香五月| 亚洲另类综合欧美| 日本 成 人 小说 电影 一区二区| 好爽视频在线观看视频| 精品亚洲| 黄色片一区二区三区四区五区| 丝袜足交视频| 久久69| 黄页av| 九九亚洲| 欧美色图天堂在线| 精品少妇后入一区二区三区四区人妻巨乳 | 国产传媒一区日韩| 97超碰色屌| 四虎视频在线观看| 另类老少妇| 久久精品六区| 色欧洲| 精品人妻一区二区三区在| 久久岛国| 国产无马在线| 日韩色欲久久一二三四区| 成 人片 黄色大片| 久干9操| 日韩国产成人自拍视频| 日本三级R| 无码又爽又硬又激情免费视频| 99热精品在线| 99国产天美| 操死我了嗯嗯嗯| 精品一区二区久久| 青春草莓视频在线观看网址| 国产高清无码一区三区二区| 日韩av在线播放不卡| 色情成人五月天| 久九九九九九九热| 欧美草草| 欧美高清无码免费视频高清版| 最新AVzaixian| 96免费视频在线| 熟女高潮合集-永久久久-成人AV| 久操免费视频| 亚洲成aⅴ人片不卡无码| 黑丝自慰喷水网站| 奸色色 男人天堂 天天射| 伊人网在线观看| 人妻另类| 精品日韩中文在线| 国产精品老熟女一区二区| 精品国产一区二区三区久久久蜜臀 | 精品 码产区一区二-1080P高清在线www-B029AV | 91九九九馒头| 自拍第一页| 亚洲中文字幕在线视频一区二区| 91精品无码人妻系列| 国产蜜臀精品一区免费尤物| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 日韩视频精品在线观看| 国产精品老师| 亚洲综合射| 亚洲风情在线观看| 夜色AV无码手机在线影院| 人妻AV 中文字幕的| 亚洲美欧999| 亚洲黄色| 日韩中文字幕熟妇人妻 | 欧美成人免费在线观看| 亚洲九区| 中文字幕色AV| 久久久久九九九| 欧美中字二区| 1级黄色夫妻对换性交免费看| 国产日本久久免费精品| 伦理日韩国产久久| 欧 美 自 拍 偷 拍| 98色网| 玖玖大干人妻| 少妇99成人麻豆| 男人的天堂99| www.狠狠操| 少妇99| 国产精品一区二区亚洲人成毛片| 日韩精品熟妇| 伊人操你| 久草男人天堂| 亚洲超碰AV| 天天日美女的B| 精品久久久久久中文字幕三区| 色综合美国| 九九九不卡| 国产AV高清AV无码| 午夜噜噜噜| 丁香五月天激情| 天堂网亚洲区手机版| 亚洲成?V人片在线观看福利| 天天影视综合色| 国产精品三级视频网站| 综合色一区三区二区| 丰满的三级少妇欧美久久久| 高精欧美色| 操人无码| 亚洲密乳AV| 欧美国产有色电影| 性色av网站| 亚洲骚男同com| 337p大胆噜噜噜噜噜91Av| 97伊人超碰| 99激情视频| 亚洲激情视频| 97精品综合久久网| 肉嘟嘟www视频在线观看高清| 激情四射婷婷六月天| JIZZJIZZ国产精品喷水| 人妻熟女一区二区三区视频| 九九久久一区二区三区| 国产日产精品久久快鸭的功能介绍| 久久国产精品熟女人妻| 久久精品国产96精品亚洲拳交| 少妇熟女视频一二三区| 1024亚洲中文字幕久在线看片你懂的| 欧美一区二区三区互相| 午夜精品人妻二区三区| 丁香五月天激情综合| 天天爽夜夜操| 麻豆三极片| 综合91网| 中文啪啪视频| 熟妇操花| 黄色操人| 麻豆91熟妇人妻中文字幕茄子| 国产馆极品诱惑| 亚洲av影院在线观看| 中文 人妻 制服| 九久9热| 操逼网站视频漫画国产| 色视频蜜乳| 97精品一区| 九九视品黄色| 色婷婷五月综合| 91久久九九精品国产综合| 婷婷精品国产欧美精品亚洲人人爽| 69精品人人人人| 一本色道久久天天射天天干| 久久久久久久久一区二区三区| 天天天天天天天天综合| 91粉芽高清在线一区二区| 国产精品分类在线观看| 亚洲婷婷综合网| 久久久精| 熟女久久久| 亚洲综合影视| 人妻酒店出差被中出免费在线播放| 免费综合亚洲中文| 艹精品| 日韩操啪| 国产极品馒头逼| 99re6在线视频精品免费完整版安卓版| 99热超碰| 黄aaaaaaaaaaaaaaaaaa色网站 | 日本99一区二区| 久久超碰爱| 激情综合五月| 99re在线观看| 在线观看一卡二卡| 国产精品青草综合久久| www.99色| 亚洲另类在线观看| 大香蕉人妻| 色爱三区| 日本精品成人无码| 狠狠干,狠狠操| 日韩不卡a级视频专区| 国产美女自拍AV| 久久性爱视频免费看| 操人妻视频| 97久久国产精品女不卡| 97超碰人人操人人操| 欧美懂色综合网| 日韩大香蕉AV影片| 亚州性色| 欧美日韩97| 亚洲动态色图| 色呦呦国产精品免费看| 啪啪啪东京| 家庭乱伦国产精品| 国产野战露脸在线播放| 乱伦AVxx| 另类专区在线观看| 亚洲综合五月天| 9999久久久久| 午夜久久一区二区无码中出 | 国产又黄又粗的视频| 91免费看一区二区三区| 成人26uuu| 在线无码视频| 中文字幕日本久久| 日韩中字av一区| 天堂资源欧美| 亚洲天天精品| 久久久久久久97| 1769成人国产精品视频| 成人三一级一片aaa| 日本免费专区| 91色综| 亚洲精品欧洲精品| 伊人少妇久久久| 女优大全 - 91n| 日韩一级二级三级免费看完整版 | 精彩国产视频播放1区2区| 91av天美性媒精品视频| 香蕉免费一区二区三区不读| 超碰色美女| 曰韩中文人妻视频| 色综合天天| 亚洲综合婷婷| 欧美午夜色妇色鬼| 久久久一区二区三区麻豆| 久久超碰日韩精品| 日本理论在线| 91艹逼精品| 久久久9 9 9精品| 好吊色综合| 免费一级黄色录像影片| 992这里有精品| 天天综合网AV91| 欧美午夜熟妇黑人精品91| 精品欧美老熟女一二区| 熟女被操视频网址| 青青草玖玖爱| 免费国产电影一区二区| 亚洲人妻av| 青青草男人天堂| 蜜臀久久99精品久久久| 另类在线| 人妻少妇无码 | 久久超碰大香蕉| 97超级久久| 岛国在线免费视频| 夜色五月天| 91美女国产在线| 91被操| 99这里有精品| 五月天欧美色图| 日韩福利电影网| 丁香成人五月天| 日韩精品9区| 国产中出内射一区二区| 亚洲熟妇图片| 91日韩| 97在线精品| 欧美熟女逼久久久久久| 中文字幕中文字幕一区二区| 熟女一区二区| 高清无码久操视频| 欧美 亚洲 制服 精品| 中文字幕熟女人妻丝袜丝| 欧美性爱第一区| 九久9热| 超碰2017| 超碰爽人妻熟女Av| 成人午夜高潮av猛片| 丁香五月激情婷婷| 天天亚洲| 中文字幕在线观看AV| 玖玖久久久| 丁香九月激情| 欧美色图第一页| 婷婷五月天激情小说| 97超碰精品图片| 国产激情视频在线观看| 精品超碰色| 婷婷丁香六月| 少妇综合网| 欧美美女啪啪视频| 2020中文在线一区二区三区| 精品一二三区女同| av天堂手机版追回| 精品久9| 蜜臀久久99精品久久综合| 舔足天天操天天射| 亚洲最大黄网| 久久男人精品| 九九九偷拍| 久久久久国产无av| 污色区网站| 人妻 制服 日韩 中文 在线| 伊人久久久日韩一区| 午夜亚洲国产理论秋霞| 色天天野狼综合社区| 亚洲夜夜欢无码一区二区| 亚州性色| 色综合超碰超| 色妹子A V| 国产在线综合网| 另类 综合 日韩 欧美 亚洲| 91色色色| 亚洲,日韩,欧美,成人播放| 操曰本熟女| 欧美在线视频99| 八戒午夜福利理论片| 国产性爱欧美性爱在线 | 中精品一区二区三区| 久热99| 天天干天天操天天操夜夜操天天操 | 欧美色日| 91在线综合网| 香蕉久久国产AV一区二区| 国产强奸乱伦欧美| 色噜噜人妻av中文字幕| 国产极品999| 一区三区啪啪| 日韩欧美午夜一区二区| 人妻夜爽夜夜爽| 国产青视频| 丁香五月久久| 一级久久性爱视频| 亚洲 欧美 日韩 国产一区二区 | 一区二区三区精品视频| 午夜性生活av免费在线看| 成人久久久精品| 久久久com| 日韩AV一起草| 亚洲第一黄色av网站| 免费视频97| 99视频自拍区| 99re热| 中文久久一区| 天天影视网综合少妇| 国产自偷自拍一区| 欧天美中出| 曰韩精品九九无码| 操逼日韩无码| 日本色色色视频| 黄色视频60分钟| 国产精品久久久久久久久久久久久久吹 | 欧美老妇综合网| 伊人激情| 天天插天天射| 大香蕉伊人久久| 青青操狠狠撩| 超碰成人国产| 少妇干B| 欧美一级久久久丰满| 99热在线观看| 人妻丝袜日本| 99999精品成人| 亚洲做性| 天天肏美女| 蜜桃狠狠色伊人亚洲综合 | 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 一区二区三区高清| 91AV国产精品| 日本亚欧爱爱| 久久久青青草| 亚洲精品99999| 亚洲综合在线91| 大逼色网站| 亚洲 欧美 色图| 怡红院成人视频| 中韩中文字幕在线观看| 欧美92| 亚洲se91| 国产精品久久久久久久电影渣男| 日韩av免费一级电影| av亚欧| 亚洲av噜噜噜噜噜噜| 亚洲AV成人精品网站在AV| 性色AV网站| 熟女激情综合网| 亚洲色系另类精品国产| 乳欲人妻办公室奶水| www成人啪啪18秘 免费| 乱色视频中文字幕| 亚洲情色电影网| 91色综合激情| 97久久久久久久久久| 国产一线二线三线av| 人妻少妇精品| 欧美大波激情xxxx| 99re不伦| AV色五月天| 99热婷婷一区二区三| 99久久99久久免费精品蜜臀| 高清国产精品无码| 综合啪啪| 熟女AV一区| 蜜区区视频79 | 国产黄色av大片网站| 国内外色色色色色成人视频| 爱欲AV| 天天操熟妇| 人人爱人人乐人人操| 精品国产人成在线| 亚洲av夫妻操穴网| 天天爽入口| 精品蜜乳AV免费观看| 亚洲中文一区二区三区| 中文字幕大片三级狠狠干| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 日韩亚洲国产视频| 国产在线76页| 蜜乳av一区二区三区| 亚洲毛片基地专区| 色官网在线| 欧美日韩大陆黑人少妇99| 91视频女生| 国模私拍一区二区三区神乳| 欧美色五月| 试看60秒| 巨爆乳一区二区爆乳区| 一区久久久二区| 97视频播放| 日韩欧美午夜视频在线| 欧美一区二区在线资源| 天天综合官网| 精品人妻美妇91job| 干B| 天天影视色香欲综合网小说| julia高潮后不停追击中出| 青青草色插素人| 日韩性爱小视频| 91在线页| 色妺妺AⅤ| 欧美在线播放aaaa| 97国产精品在线观看| 视频黄色国产一级| 啊啊啊啊啊在线视频| 又大又大又大又粗爽高潮观看| 天天天天天干夜夜夜夜夜操| 久久久少妇诱惑精品视频| 亚洲无码国产精品久久| 熟妇亚洲一区二区三区| 欧美 精品国产制服第一页| 国产天天看| 青青操网| 粉嫩少妇自慰在线| 日本高清免费一本视频在线观看| 91老熟女逼| 国产色图乱伦| 78久久久| 国产操操日韩三级黄| 中 文字幕一区二区三四 五 区日 日 骚| 天天躁日日躁狠狠躁| 日本人体九九九九九九| 婷婷久月| 天天日天天射天天干| 国产中文字幕在线点播| 欧美暴力猛交| 久久一区二区三区入口| 国产丁香精品露脸视频| 综合熟女| 一起草三级AV电影在线观看| 丁香婷婷激情五月天无毒不卡| 欧美日韩国产一区二区小黄片大全| 中文字幕视频一区视频二区| 免费的黄片有限公司| 亚熟hd视频在线| 亚洲中文字母在线播放| 国产9l 大屁股| 91婷婷伊人狠人| 另类亚洲一区二区三区| 麻豆伊人网| 大香蕉免费乱伦视频| 亚洲少妇综合| 日本一区不卡| 青青草十区九区爱夜| 亚洲精品xxx| 97色欧洲| 日han少妇无码| 亚洲成熟国产精品美女| 色97干| AV高清一区| 人人做人人妻人人夜视频| 欧美欧美少妇| 精品乱码久久久久| 国产成人网| 久久久久久亚洲Av无码| 精品美女少妇一区二区| 欧洲亚洲人妻无码中字久久三区四区 | 强奸乱伦免费网站| 插插综合网天天影视网| 性色国产东北露脸精品视频| 啊v视频在线观看| 国产肏逼网站| 少妇精品| 91美女高潮| 清纯唯美激情四射| 五月天色色色| 日韩色| 新亚洲无码| 久久伊人东京热| 色诱avtt| 97国产色综合| 亚洲欧美日韩综合在线尤物| 国产久久成人| 亚洲中文字幕熟女| 久久婷婷成人综合色怡春院| 999九九精品| 国产在线不卡导航| 五月丁香在线| 中日高清无码操逼视频| 乱伦Av网| 国内精品a| 亚洲中文字幕在现观看| 老熟乱一区二区三区四区| AV丝袜东京热| 亚洲日韩东京热一区| 淫色网综合| 久久久久久久一级黄色打同平台| 国内精品久久久久影院亚洲| 郑州宾馆老熟女露脸啪啪| 狠狠久久手机视频精品| 久久专区| 日韩福利电影网| 麻豆精品.欧美精品.日韩精品.| 免费超碰97久久| 国产十八禁视频| 超碰97男人| 91色综合激情| 老汉网| 国产极品久久久| 第四色色综合91| 日韩紧密久久| 亚洲欧美九九九| 久久亚州高清| 97视频620| 欧美 日韩 另类 亚洲| 影音综合网| 欧亚乱色熟一区二区三四区| 欧美性,色九九| 中文字幕丝袜美腿| 青青草在线视频欧美| 国产久久日韩网站导航| 日韩中文字幕av在线播放| 欧美日韩国产电影| 日韩国产九九精品一区二区三区毛片| 99re热| se01国产在线视频| 色黄色美女大长腿午夜视频| 亚洲国产午夜真人一级片中文字幕精品黄网站| 精品一区二区综合熟妇| 高跟丝袜AV专区国产| 国产吞精a级片激情电影| 性色av婷婷久久一区二区点复制| av大香蕉| 丝袜性亚洲| 欧洲与亚洲欧美精品中文字幕| 色www精品视频在线观看| 999熟女精品| 超碰精品97| 少妇被c 黄 免费观看| 国产成人精品必看| 干婷婷综合网| 久都青青视频| 鸥美极品| 九九九精品| 国产精品亚洲无码| 99超级碰免费视频| 欧美亚洲丝袜美女电影| 欧美综合 站| 熟妇色99| 乱伦av国产| 欧美熟女少妇| 无码人妻系列少妇| 91欧美在线| 成人aⅴ一区二区三区| 色综合色色| 麻豆 亚洲 97| 丰满人妻-区二区三区免费看| 内射夫妻三片| 国产精品一区二区黄片| 日韩激情视频| 超碰在线91| 国产黄片精品在线| 丰满人妻-区二区三区免费| 久久久不卡区一区二区三区久久久| 欧美性五月| 超清福利精品视频在线| 日本99视频| 操逼999| 国产精品精品系列在线观看| 男女一级A片大黄,一进一出| 欧美日本天堂| 久久综合九色综合欧洲98| 欧美日韩国产色图在线| 蜜臀AV成人精品蜜臀| 久草这里只有精品| 在线看免费无码AV天堂的| 亚州乱码中文字幕综合久久久| 96国产精品| www.99中文字幕| 蜜桃传媒一区二区亚洲| 黄色工厂这里只有精品| 日本精品不卡一二三区| 精品999日本| 超碰午夜| 天堂av2019| 国产精品一区二区密臀| 国产色呦呦| 欧洲精品欧洲精品| 亚州一区二区成人片免费| 精品人妻一区二区三区-国产| 91美| 蜜桃视频精品一区二区| 国语精品av| 欧美婷婷五月天| 尤物视频偷拍免费| 亚洲乱码国产乱码精网站| 免费网色网站| 四虎国产精品永久地址入口| 高潮综合网| 翔田千里AⅤHD无码| 欧美色图片91| 99久久久久久亚洲精品不卡| 抽查国产福利主播| 日B操| 久久国产精品,久久国产| 福利视频香蕉免费一区二区在线| 青青欧美在线| 搡老熟女免费视频 | 日韩无码服务区| 免费精品福利在线观看| 神马久久免费电影观看| 成人网址在线观看| 九九热三级片| 夜夜爽妓女| Av手机版天堂网| 很很很很操| av天堂手机版追回| 日骚逼视频| 丰满翘臀美女影院视频| 蜜乳中文字幕a在线| 欧美天天综| 殴美在线AⅤ| 国产精选视频| 欧美日韩人人精品| 国产精品亚洲无码| 97在线观看免费| 五月婷婷深深爱| 欧美999| 国产SV一线| 少妇高潮特黄A片| 欧美日韩人妻精品一区二区三区| 欧美亚洲综合色| 国内毛片热久久思思热| 亚洲熟女少妇免费视频| 亚洲黑丝在线| www.久久制服糖| 四虎精品亚洲| 亚洲国产剧情少妇激情| 免费看A片毛毛片在线播| 南澳成人一级片在线播放| 久久久亚洲精品电影免费看| 久草资源欧美在线视频| 熟女精品va中文字幕| 久久久久久999| 久久国99999| 国产久久久久久久久一区二区| 一区二区乱码福利| 亚洲熟女一区| 色精品极品| 最近2019中文字幕国语免费版| 香蕉综合网| 人妻黑丝袜电影| 长长久久免费视频| 91社操逼| 人人人干干人人干| 91久久国产精品| 天天日天天射天天干| 色色色欧美| 久久久亚洲高清不打码| 狠狠91| 欧美亚洲韩国视频十五区| 欧美一级欧美三级在线观看| 国产成人自拍视频在线| 国产精品一区二区亚洲人成毛片| 欧美大的香蕉有线电视视频| 色香伊人| 内射黑人| 日韩影片中文字幕一区二区三区| 91婷婷| 日韩国产成人自拍视频| 国产又黄又爽又刺激久久久久久| 欧美九九九九九| 久久人妻一区二区三区高清| 日韩成人午夜精品久久高潮| 国产丝袜视频| 91狼人| 欧美三级中文字幕hd| 亚洲AV无码乱码| 欧美激情激情xxxx欧美专区| 亚洲欧美伦综合| 51一区二区三区| 人妻五十路在线| 欧美日韩少妇色情| 欧美大香蕉97| 日韩欧美成人大香蕉| 五月综合色| 国产成人+综合亚洲+天堂| A片三级无码| 丝袜美腿制服人妻二区中文字幕| 影音先锋乱伦资源| 以及麻豆国产入口在线观看免费| 91天天| 亚洲婷婷丁香在线| 九九热AV| 色哟哟AⅤ| 欧美日韩国产一区二区小黄片大全| 日本色日夜干| 久久男人的天堂| 2017大香蕉| 欧美激情综合| 久草尤物| 在线综合 亚洲 欧美中文字幕| 伊人操你| 很黄很色的视频在线观看| 午夜超爽| 亚洲午夜福利在线影院| 在线无码操| 操一区| 97超碰美国| 97午夜剧场日韩| 色999偷自拍拍| 久久精品视频在线观看| 夜夜操一区二区| 人妻天天爽夜夜爽2| 丰满欧美放荡少妇在线| 欧美一级二级三级| 97免费在线视频| 无码国产Av| 人人爱人人操人人性| 久久老子无码午夜伦不卡| 久久婷婷五月| 亚洲一区二区三区麻豆传媒| 欧美在线55555| 日本欧美m v精品网站加| 超碰色美女| 大JI巴好深好爽又大又粗视频| 人妻性爱一区二区| www黄片免费看com| 欧美一级三级| 欧美性爱一区二区三区四区| 欧美亚洲色的图| 天天噜| 色官网色综合| 久久一二三四五六七八九区区区| 日han少妇无码| 欧美色图自拍| 亚洲高清视频在线免费观看| 3d成人精品一区二区| 五月激情啪啪| 好舒服视频| 欧美日韩精品久久久久久久久东北老熟妇| 欧美一区二区三区不卡高清视频 | 青青操视频在线| 久久久久久久性爱| 波多野结衣先锋影音| 九九无码| 亚洲欧美日韩中文久久自慰| 白丝AV| 人妻精品视频一区二区| 色盈盈影院| 啪啪啪男女亚洲中文字幕99| www.色吧5.com| 91狠狠综合久久久| 久久综合超碰| 国产强奸无码乱伦| 国产成人网站在线观看| 老熟妇综合| 大香蕉综合网| 人人透人人操| 蜜桃色院一区久久 | 91在线页| 精品在线78| 国产精品制服丝袜清纯唯美| 91亚洲不卡一区| 午夜福利免费精品视频| 少妇被玩视频二三区| 欧美亚州综合网图片| 国产一区二区精品久久99| 日本女厕偷拍| 天天综合网91| 国产 码在线成人网站| 久久亚洲天堂| 免费伦费视频在线观看| 欧美内射少妇| 日本阿v天堂在线观看| 六月丁香网| 精品少妇高潮久久| 欧美日韩操操操| 中文字幕AV片| 国产精品女生av| 图色综合网| 肏逼视频日本| 江都AV在线| 秋霞Av理论一级在线| 操狠狠| 91欧美色| 激情一区二区三区在线观看| 4虎在线观看| 亚洲精品99| 欧亚日韩中文在线| 日韩AV电影网站| 69精品| 日韩在线视频1234| 国产精品免费久久久久久久久久| 920日本午夜免费| 久久系列| 1区2区3区在线视频| 久久久97| 春色校园综合网| 岛国在线免费视频| 成人热久久精品| 日韩无码黄色片| 久久久久久少妇| 在线啊v一区| 高精欧美色| 日韩pv中文| 欧美精品精品一区二区| 欧美性暴力猛交XXXX | 不卡超碰护士AV在线免费播放| 蜜臀久久99精品久久久| 熟女天天干| 一线黄色免费性爱片| 中文字幕一品色图| 精品人妻伦一二三区久久| 上特色A在线| 美女淫穴| 亚洲操逼视频网站| 五十路熟女人妻一区二区在线观看 | 欧美亚洲清纯| 1024人妻| 日本色色视频网站| 四虎免费视频| 伊人成人中文字幕久久网| 日韩成人性日韩成人性爱视频在线免费观看 | 青青草AV色| 91色艳| 亚洲春色欧美激情自拍| 久久久成人免费av电影| 欧美色图天堂在线| 国产无码三级视频在线观看| 嗯,啊。舔我逼| 色五月婷婷麻豆在| 欧美一二三级精品在线| 中文无线日韩一区| av优播| 熟女精品va中文字幕| 欧美 亚洲| 美女裸体麻豆天美蜜桃91| 欧美在线观看综合国产| 欧美色图片| 国产欧美日产一区二区三区 - 国产欧美日| 亚洲成人免费电影| 91亚洲色人| 久久大香蕉97| 青青草精玖玖69精品| 成年女人18级毛片毛片免费观看| 午夜操一操| 99日视频在线免费| 婷婷三区| 综合色久| 欧美日韩性爱无码| 五月婷亚洲精品天堂| 无码人妻丰满熟妇区毛片| Av色五月| 91狠狠综合久久| 亚洲欧洲综合成人av一区| 亚洲丝袜少妇在线| 欧洲亚洲人人爽爽视频| 蜜桃中文字日产乱幕4区| 婷婷五月天久久久| 欧美大香蕉同搞| 国内毛片欧美香蕉精品| 97国产|免费| 都市激情人妻一区二区青青操视频| 3571色综合一区二区二区| 国产成人免费观看在线视频| 牛牛操视频逼| 9118禁| 日韩精品午夜操呦呦不卡影院| 久热久| 天天看特黄的免费网站| 国产不卡精品91| 大香蕉啪啪网| 亚洲一区中文字幕一区| www国产天美久久久| 人人操我人人干| 国产精品高清2021在线| 爱爱啊啊啊| 91丝袜视频在线观看| 激情视频图片| 欧美人妻另类在线| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚洲AV成人无码一区二区三区在线观看| AAAA欧美日韩| 日产操逼| AAAA欧美日韩| 无遮挡男女激烈动态图| 三上悠亚在线毛片91| 成人性生活高清视频在线播放| 我要看免费韩日黄片| 日本天堂网| 老女人老91妇女老热女| 亚洲最大的综合性av| 日韩av电影网站| 人妻丝袜无 码视频专区| 亚洲97综| 日日嗷| 日本午夜久久电影| 色综合天天| 日本熟女中文字幕一区| 中文字幕一区二区在线日韩精品| 欧美日韩国产一区二区小黄片大全| 国产三级片在线观看| 97色亚洲| 欧美色干| 欧美性色网| 亚洲深夜福利| 1204金沙人妻懂旧版免费| 成人天天看站长推荐| 999熟女精品| 国产女人与拘做受视频免费| 人人玩人人添人人澡免费| 天天摸夜夜添无码小视频| 天天操夜夜操狠很操| 亚州操逼图| 超碰人人色| 人妻天天操天天爽视频免费| 亚洲影院小综合| 最新精品久久蜜桃| 天欧美在线| 亚洲精品电影| 秋霞一集毛片观看| 青娱乐国产盛宴视频| 婷婷五月色| 91九色丨国产丨爆乳| 九9热伊人| 唯美清纯 妖精视频| 亚洲在线网站| 手机在线看片免费人成视频| 99久久9| 欧美性暴力猛交XXXX | m欧洲一级午老| 97欧美色| 亚洲春色一区二区三区| 国产熟女完整版中字| 五月婷婷深深爱| 91九九九小逼| 蜜臀99精品国产高清在线观看| 99婷婷一区二区| 日韩性爱电影一区| 国产一区二区三区中文字幕| 97在线观看免费视频l| 十八禁黄色| 日本色色视频网站| 爱射综合| 91精品婷婷国产综合久久竹菊| 漂亮人妻被强中文字幕hd| 色哟哟AⅤ| 97色碰| 日韩精品国模| 久久婷婷电影网| 美女自卫慰黄网站免费| 色91综合网| 精品一级| 强奸乱伦大香蕉网| 91色鬼| 高清视频一区| 国产 无码 一区二区| 五月黑AⅤ| 快播久久人人aV| 国产极品精品美女视频| 久久国产精品一级二级三级| 日本加勒比无码专区一二三| 天天夜躁日日躁狠狠2002| 色婷婷影视| 人人妻天天做天天爽| 日韩欧洲操屄视频| 九九九九九九九精品视频| 97精品在线| 亚洲AV秘无码一区..| 啊啊啊啊嗯嗯嗯用力好爽| 日韩特一级久久| 欧美的性爱网站免费| 蜜色网色哟哟| 日韩综合97p| 26uuu国产免费观看| 久日91在线| WWW操逼| 97操97色| 国产h小视频在线观看免费| 日韩成人精品中文字幕| 尤物视频偷拍免费| 国产久久av| 丝袜av一区二区三区| 日本一二区不卡| 激情久久久| 奶水 人妻 哺乳 在线| 精品国产肉丝袜在线拍国语| 久久久久久久久国产| 人人妻人射| 999 久久久| 精品亚洲黄色片 国产精品导航一区二区| 日韩三级在线观看mp4| 无码不卡亚洲成?人片| 日韩97视频!在线| av网站免费看| 后入内射蜜桃臀| 网站A V在线| 九九久久国产精品| 国产精品视频自拍在线| 91天美传媒精品| 黄片国产精品一区二区| 蜜臀99999| 乱伦图一区| 国产AV线| 丁香五月色情| 日韩欧美加勒比| 最新一二三区视频| 夜夜操美女| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 天天爽入口| 99热99在线| 亚洲欧洲激情卡通另类文学四射小说网站| 在线观看一卡二卡| 国产乱伦视频污| 大香蕉欧美国产日韩高潮| 金莲网址| 97在线/亚洲| 女优视频第10页| 久久性爱视频99| 另类视频在线| 亚洲天堂久久| 亚洲影院成人| 97色涩| 成人网址在线观看| 国产毛片片精品天天看视频| 99www.bibizy香蕉资源国产一区二区三区高清| 在线观看高清AV| 中文字幕一二三av| 91亚·色| 国产精品视频一区二区三区八戒| 51一区二区三区| 18精品一区| 亚洲天堂7777| 91欧美综合| 国产精品久久久久久久久久久久久久久| 人人人人插| 亚洲天天操| 青草影院内射高潮| 亚洲无码色| 国产乱伦性爱区| 国产日韩美女小穴视频网站不卡| 91视频观看网站| 亚洲色图欧美视频| 欧美激情激情xxxx欧美专区| 蜜臀久久精品久久久久视频| 啊…啊…操我用力操我| 亚洲自拍天堂| 五十路熟女人妻一区二区在线观看| 丝袜无码a片| 男人的天堂啪啪| 午夜爽爽爽在线观看永久入口姬片| 91狠狠综合久久| 久久人爽| 日本天天人人狠狠在线日美女| 亚洲一区二区精品福利| 天堂岛av| 在线无码操| 五十路六十路素人熟女| 人人妻人人澡人人爽久久av| 999 久久久| 91色黑人少妇| 精品人妻伦一二三区久久| 国产亚洲中文不卡二区| 欧美精品成人一区二区在线观看 | 久久精视频美日韩在线视频| 91精品国产91久久青草| 一二三四区电影| 好舒服视频| 爱干爱射网啊啊啊| 91久久久久久| 欧美精品久久久久久久久88| 免费αV在线视频| 欧美色就是色| 天天天干977| 欧美色图97| 国产女人9999| 午夜欧美神马久久久久| 97国产超湿| 嗯嗯啊中文字幕| 97色色婷婷| 亚洲无码一区二区三区三州| 一区二区三区探花在线观看| 国产精品久久久吖| 一级二级在线观看| 国产精品播放| 大鸡巴久久| 欧美草草高清日韩视频| 2020中文字幕在线| 九九九九九九九九九九九九九九九女| 中文字幕在线观看AV| 久久手机好看网站| 91neishe| juliaann精品熟女一区| 天天添天天干电影| 偷拍 精品另类 凸凹了四区| 精品久久久久久亚洲| 天天做天天爱| 吻戏激情性巴克| 色综合91| 蜜桃传媒一区二区亚洲| 91老司机在线视频免费观看| 丝袜内射| 一区二区三区蜜桃成人撸久久东京热| 大香蕉欧美伊| 丝袜av一区二区三区| 色大香蕉97N| 中国黄色特级精品一区二区三区片| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 精品久操| 2024人人操人人摸| 国内自拍 日韩激情 99| 日本性爱少妇| 99人人干|