Python實(shí)現(xiàn)批量上傳本地maven庫到nexus
背景:外包類項(xiàng)目開發(fā)時(shí)是調(diào)用的公司maven倉庫進(jìn)行開發(fā),交付后需要將maven倉庫轉(zhuǎn)移到客戶環(huán)境。
原理:
1、打開idea運(yùn)行源代碼,將maven包下載到本地倉庫,
2、下載包所在目錄中執(zhí)行腳本將本地倉庫的maven包上傳到客戶nexus
腳本代碼如下:
# -*- coding: utf-8 -*-
import os
import subprocess
# releases倉庫地址
REPO_URL_RELEASES = "http://192.168.2.230:8081/repository/hosted-release/"
# snapshots倉庫地址
REPO_URL_SNAPSHOTS = "http://192.168.2.230:8081/repository/hosted-snapshot/"
USERNAME = "admin"
PASSWORD = "admin"
def upload_files(repo_url, username, password):
for root, dirs, files in os.walk("."):
for file_name in files:
if file_name.endswith(".sh"):
continue
if file_name.startswith("."):
continue
if "-SNAPSHOT" in root:
continue
if "_remote.repositories" in file_name:
continue
if file_name.startswith("^archetype-catalog.xml") or file_name.startswith("^maven-metadata-local.xml") or file_name.startswith("^maven-metadata-deployment.xml"):
continue
file_path = os.path.join(root, file_name)
upload_url = os.path.join(repo_url, file_path[2:])
curl_command = ["curl", "-u", "{}:{}".format(username, password), "-X", "PUT", "-v", "-T", file_path, upload_url]
try:
subprocess.check_call(curl_command)
except subprocess.CalledProcessError as e:
print("Failed to upload {}: {}".format(file_path, e))
else:
print("Uploaded: {}".format(file_path))
if __name__ == "__main__":
print("Uploading releases...")
upload_files(REPO_URL_RELEASES, USERNAME, PASSWORD)
print("\nUploading snapshots...")
upload_files(REPO_URL_SNAPSHOTS, USERNAME, PASSWORD)到此這篇關(guān)于Python實(shí)現(xiàn)批量上傳本地maven庫到nexus的文章就介紹到這了,更多相關(guān)Python上傳本地maven到nexus內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Maven nexus 安裝nexus私服出現(xiàn)的問題和解決辦法
- 詳解Maven私服Nexus的安裝與使用
- 如何使用nexus在局域網(wǎng)內(nèi)搭建maven私服及idea的使用
- Maven入門之使用Nexus搭建Maven私服及上傳下載jar包
- 使用Nexus搭建Maven私服的方法步驟
- maven將項(xiàng)目打包上傳到nexus私服的詳細(xì)教程
- 詳解idea maven nexus 常見命令配置
- 利用Docker搭建Nexus私有倉庫實(shí)現(xiàn)Maven私服
- 使用Nexus搭建Maven私服教程的方法步驟
- Maven配置單倉庫與多倉庫的實(shí)現(xiàn)(Nexus)
- Maven發(fā)布項(xiàng)目到Nexus私有服務(wù)器
- Maven使用Nexus創(chuàng)建私服的實(shí)現(xiàn)
- Maven忽略單元測試及打包到Nexus的實(shí)現(xiàn)
- maven私有鏡像倉庫nexus部署使用
相關(guān)文章
如何利用?Python?繪制動(dòng)態(tài)可視化圖表
這篇文章主要介紹了如何利用?Python?繪制動(dòng)態(tài)可視化圖表,主要介紹介紹如何進(jìn)行保存gif格式的文件。那么我們就開始進(jìn)入主題,來談一下Python當(dāng)中的gif模塊,需要的朋友可以參考一下2022-02-02
Python 解決相對路徑問題:"No such file or directory"
這篇文章主要介紹了Python 解決相對路徑問題:"No such file or directory"具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python使用DrissionPage實(shí)現(xiàn)上傳文件的實(shí)戰(zhàn)指南
在自動(dòng)化測試和網(wǎng)頁爬蟲開發(fā)中,文件上傳是一個(gè)常見需求,本文將詳細(xì)介紹如何使用Python的DrissionPage庫實(shí)現(xiàn)高效穩(wěn)定的文件上傳操作,有需要的可以了解下2026-01-01
Python 實(shí)現(xiàn)一個(gè)計(jì)時(shí)器
這篇文章主要介紹了Python 實(shí)現(xiàn)一個(gè)計(jì)時(shí)器的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
Python黑魔法Descriptor描述符的實(shí)例解析
與迭代器和裝飾器等一樣,描述符也是Python編程中的一項(xiàng)高級技巧,這里我們就來講解Python黑魔法Descriptor描述符的實(shí)例解析:2016-06-06
Python函數(shù)之zip函數(shù)的介紹與實(shí)際應(yīng)用
zip() 函數(shù)用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的對象(python2 返回的是這些元組組成的列表 ),下面這篇文章主要給大家介紹了關(guān)于Python函數(shù)之zip函數(shù)實(shí)際應(yīng)用的相關(guān)資料,需要的朋友可以參考下2022-03-03
創(chuàng)建Shapefile文件并寫入數(shù)據(jù)的例子
今天小編就為大家分享一篇?jiǎng)?chuàng)建Shapefile文件并寫入數(shù)據(jù)的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

