国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

nexus3 npm-hosted倉庫遷移

這篇具有很好參考價值的文章主要介紹了nexus3 npm-hosted倉庫遷移。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

遷移背景:

從nexus 3.33 升級到 nexus 3.64 過程中,私服 npm-hosted 無法上傳。由于這個 npm-hosted 和 npm-proxy 放的同一個 blob存儲,無法單獨拆除去,所以采用遷移的方式

遷移思路:

down下來 npm-hosted 倉庫,然后 批量上傳

技術(shù)棧:

python shell 正則

down倉庫的python文件:

import os
import re
import requests
from urllib.parse import unquote

def decode_urls(url_list):
    decoded_urls = [unquote(url) for url in url_list]
    return decoded_urls

def download_url(url, save_dir):
    response = requests.get(url)

    # 檢查響應(yīng)狀態(tài)碼
    if response.status_code == 200:
        # 獲取URL的基本路徑
        base_url = '/'.join(url.split('/')[:-1])

        # 解析HTML內(nèi)容
        html_content = response.text

        # 搜索所有鏈接
        links = find_links(html_content)
        # 遍歷鏈接
        for link in links:
            file_url = base_url +"/"+ link


            # 檢查鏈接是否為目錄
            if link.endswith('/'):

                # 創(chuàng)建本地目錄
                save_subdir = os.path.join(save_dir, link)
                os.makedirs(save_subdir, exist_ok=True)

                # 遞歸下載子目錄
                download_url(file_url, save_subdir)
            else:
                # 下載文件
                save_file = link.split("/")[-1]
                download_file(link, save_dir+save_file)
    else:
        print(f"Failed to download URL: {url}")


def find_links(html_content):
    # 使用正則表達式或HTML解析庫解析HTML內(nèi)容,提取所有鏈接
    # 例如,可以使用正則表達式 r'<a\s+href=[\'"](.*?)[\'"]\s*>' 來提取鏈接
    # 返回一個包含所有鏈接的列表
    # 使用正則表達式匹配鏈接
    pattern = r'<a\s+href=[\'"](.*?)[\'"]\s*>'
    matches = re.findall(pattern, html_content)
    matches = decode_urls(matches)
    if '../' in matches:
        matches.remove('../')
    print(matches)

    # 返回匹配到的鏈接列表
    return matches


def download_file(url, save_path):
    response = requests.get(url, stream=True)

    # 檢查響應(yīng)狀態(tài)碼
    if response.status_code == 200:
        with open(save_path, 'wb') as f:
            for chunk in response.iter_content(chunk_size=8192):
                f.write(chunk)
    else:
        print(f"Failed to download file: {url}")


# 指定下載URL和保存目錄
url = "https://mirrors.xinyunkeji.com/service/rest/repository/browse/npm-test-hosted/"
save_dir = '/opt/npm/download'

# 創(chuàng)建保存目錄(如果不存在)
os.makedirs(save_dir, exist_ok=True)

# 開始下載
download_url(url, save_dir)

批量上傳新倉庫shell文件:

這個curl語句是從api接口里面,模擬上傳一個文件,然后再下方獲取的curl命令
nexus3 npm-hosted倉庫遷移,npm,前端,node.js文章來源地址http://www.zghlxwxcb.cn/news/detail-811327.html

#!/bin/bash
#需要上傳到的倉庫url
url='https://mirrors.xinyunkeji.com/service/rest/v1/components?repository=npm-test-hosted2'
#使用python下載的倉庫目錄
directory='/opt/npm/download'
#nexus有上傳權(quán)限的賬戶密碼
username='test'
password='mimaya'

for file in $(find $directory -name "*.tgz"); do
  echo "準備上傳${file}文件"
  curl -X POST $url \
    -H 'accept: application/json' \
    -H 'NX-ANTI-CSRF-TOKEN: 0.05104117117544127' \
    -H 'X-Nexus-UI: true' \
    -F "npm.asset=@$file;type=application/x-compressed" \
    -u "$username:$password"
done

到了這里,關(guān)于nexus3 npm-hosted倉庫遷移的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Maven私服搭建Nexus3

    Maven私服搭建Nexus3

    下載地址 :https://help.sonatype.com/en/download.html 備用下載鏈接,部分已經(jīng)失效了 解壓后會有兩個文件夾: nexus-3.20.1-01 sonatype-work 訪問地址配置路徑 nexus-3.20.1-01binnexus.vmoptions 默認配置大小為2703m,兩個多G,內(nèi)存不夠的可以修改一下。 如果是docker部署修改配置沒用,要加上-e參

    2024年02月22日
    瀏覽(17)
  • Nexus3 重置 admin 賬號密碼

    nexus3 的 admin 賬號密碼忘記了,需要重置。 參考: https://support.sonatype.com/hc/en-us/articles/213467158-How-to-reset-a-forgotten-admin-password-in-Nexus-3-x 由于 nexus 是基于 docker 部署,后面我們需要進入容器中執(zhí)行相關(guān)命令,所以此處不能直接使用 docker stop xxx 來關(guān)閉服務(wù)。需要進入到容器內(nèi)部

    2024年02月08日
    瀏覽(30)
  • Nexus3中搭建Docker私服

    Nexus3中搭建Docker私服

    倉庫類型 hosted 本地存儲,像官方倉庫一樣提供本地私庫功能 proxy 提供代理其他倉庫的類型 group 組類型,可以組合多個倉庫為一個地址提供服務(wù) 1.1. 安裝Nexus3 1.2. 創(chuàng)建用戶 創(chuàng)建docker管理的用戶:如:docker/docker 1.3. 創(chuàng)建Blob Stores 創(chuàng)建一個名稱為docker的BlobStores 1.4. 創(chuàng)建Docker倉庫

    2024年01月17日
    瀏覽(19)
  • docker搭建maven私庫Nexus3

    docker搭建maven私庫Nexus3

    什么是Maven私服? Maven 私服是一種特殊的Maven遠程倉庫,它是架設(shè)在局域網(wǎng)內(nèi)的倉庫服務(wù),用來代理位于外部的遠程倉庫(中央倉庫、其他遠程公共倉庫)。 當然也并不是說私服只能建立在局域網(wǎng),也有很多公司會直接把私服部署到公網(wǎng),具體還是得看公司業(yè)務(wù)的性質(zhì)是否是

    2024年02月04日
    瀏覽(16)
  • Docker 安裝 Nexus3及使用方法

    Docker 安裝 Nexus3及使用方法

    1.1 創(chuàng)建目錄 在硬盤上創(chuàng)建 Nexus3 的主目錄: 為該目錄添加權(quán)限: 1.2 拉取鏡像 搜索鏡像: 拉取鏡像: 效果: 1.3 運行容器 鏡像拉取完畢后,便可運行容器,這里映射了 nexus-data 目錄到上面創(chuàng)建的目錄和三個端口。三個端口分別是: 創(chuàng)建啟動腳本 腳本內(nèi)容: 保存 給 startNex

    2024年02月08日
    瀏覽(21)
  • 手把手教你Linux部署Nexus3私服

    手把手教你Linux部署Nexus3私服

    對maven來說倉庫分為兩類:本地倉庫和遠程倉庫,有三種專門的Maven倉庫管理軟件可以用來幫助我們建立私服:chiva、Artifactory和Nexus。Nexus是當前最流行的Maven倉庫管理軟件。Nexus包含了各種類型的倉庫的概念,包括代理倉庫、宿主倉庫、倉庫組等。每一種倉庫都提供了豐富實用

    2024年02月19日
    瀏覽(34)
  • 快速解決 npm 安裝 node-sass 速度慢/錯誤的問題(nexus私服問題見上一篇博客)

    這通常是因為 node-sass 包中包含有本地二進制文件( _binding.node ),而在某些情況下,下載過程可能會失敗。 以下是一些可能的解決方法: 1. 使用淘寶鏡像 你可以嘗試使用淘寶的 cnpm 命令行工具,該工具使用淘寶的鏡像源,可以解決部分下載問題。首先,安裝 cnpm : 然后使

    2024年02月03日
    瀏覽(23)
  • 上傳前端node_modules依賴包鏡像至Nexus

    一、構(gòu)建項目依賴鏡像 1、安裝yarn 2、先我們需要設(shè)置?個?錄作為我們的“離線鏡像”存儲,我們可以通過yarn config 命令來實現(xiàn)。 默認在C盤中 C:UsersAdminnpm-packages-offline-cache下,之后會在當前項?路徑?成?個npm-packages-offline-cache 文件夾用來存放構(gòu)建的.tgz離線?件 3、移動

    2024年02月20日
    瀏覽(17)
  • 【云原生】在AWS平臺EKS1.25,Helm安裝Nexus3.20.1

    使用helm方式安裝 工作目錄: /opt/eks/yaml/nexus3 添加helm chart源 helm repo add azure http://mirror.azure.cn/kubernetes/charts/ 查詢版本 chart的版本和nexus的版本有些差異,準備安裝的版本是3.20.1,對應(yīng)的是chart版本是1.23.1、1.23.0、1.22.0、1.21.4等,這里就安裝chart最新的1.23.1版本 拉取chart包 helm

    2024年02月15日
    瀏覽(22)
  • npm run dev運行出現(xiàn)NODE_OPTIONS=--max_old_space_size=4096 vite --mode dev --host?

    npm run dev運行出現(xiàn)NODE_OPTIONS=--max_old_space_size=4096 vite --mode dev --host?

    PS E:AWorkDataeaseDataEasecorecore-frontend npm run dev dataease@0.0.0 dev NODE_OPTIONS=–max_old_space_size=4096 vite --mode dev --host 0.0.0.0 ‘NODE_OPTIONS’ 不是內(nèi)部或外部命令,也不是可運行的程序 或批處理文件。 遇到 \\\'NODE_OPTIONS\\\' 不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件。 的問題,

    2024年02月20日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包