Python實(shí)現(xiàn)批量上傳本地maven庫(kù)到nexus
背景:外包類項(xiàng)目開發(fā)時(shí)是調(diào)用的公司maven倉(cāng)庫(kù)進(jìn)行開發(fā),交付后需要將maven倉(cāng)庫(kù)轉(zhuǎn)移到客戶環(huán)境。
原理:
1、打開idea運(yùn)行源代碼,將maven包下載到本地倉(cāng)庫(kù),
2、下載包所在目錄中執(zhí)行腳本將本地倉(cāng)庫(kù)的maven包上傳到客戶nexus
腳本代碼如下:
# -*- coding: utf-8 -*- import os import subprocess # releases倉(cāng)庫(kù)地址 REPO_URL_RELEASES = "http://192.168.2.230:8081/repository/hosted-release/" # snapshots倉(cāng)庫(kù)地址 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庫(kù)到nexus的文章就介紹到這了,更多相關(guān)Python上傳本地maven到nexus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(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私有倉(cāng)庫(kù)實(shí)現(xiàn)Maven私服
- 使用Nexus搭建Maven私服教程的方法步驟
- Maven配置單倉(cāng)庫(kù)與多倉(cāng)庫(kù)的實(shí)現(xiàn)(Nexus)
- Maven發(fā)布項(xiàng)目到Nexus私有服務(wù)器
- Maven使用Nexus創(chuàng)建私服的實(shí)現(xiàn)
- Maven忽略單元測(cè)試及打包到Nexus的實(shí)現(xiàn)
- maven私有鏡像倉(cāng)庫(kù)nexus部署使用
相關(guān)文章
Python動(dòng)態(tài)聲明變量賦值代碼實(shí)例
這篇文章主要介紹了Python動(dòng)態(tài)聲明變量賦值代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python進(jìn)階之使用selenium爬取淘寶商品信息功能示例
這篇文章主要介紹了Python進(jìn)階之使用selenium爬取淘寶商品信息功能,結(jié)合實(shí)例形式詳細(xì)分析了Python使用selenium與requests模塊爬取淘寶商品信息的相關(guān)操作技巧,需要的朋友可以參考下2019-09-09python實(shí)現(xiàn)提取百度搜索結(jié)果的方法
這篇文章主要介紹了python實(shí)現(xiàn)提取百度搜索結(jié)果的方法,涉及Python網(wǎng)頁(yè)及字符串操作的相關(guān)技巧,需要的朋友可以參考下2015-05-05利用Python自動(dòng)監(jiān)控網(wǎng)站并發(fā)送郵件告警的方法
這篇文章介紹的是通過定時(shí)執(zhí)行python腳本,可以實(shí)現(xiàn)定期批量訪問網(wǎng)站,如果發(fā)現(xiàn)網(wǎng)站打不開,第一時(shí)間發(fā)郵件到管理員郵箱進(jìn)行預(yù)警。有需要的可以參考借鑒。2016-08-08Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的示例代碼
學(xué)生管理系統(tǒng)是一個(gè)常見的應(yīng)用程序,它可以幫助學(xué)校、教育機(jī)構(gòu)或教師管理學(xué)生的信息,本文將介紹如何利用Python開發(fā)一個(gè)學(xué)生管理系統(tǒng),需要的可以參考一下2023-07-07Python簡(jiǎn)明講解filter函數(shù)的用法
本文和你一起來探索Python中的filter函數(shù),讓你以最短的時(shí)間明白這個(gè)函數(shù)的原理。也可以利用碎片化的時(shí)間鞏固這個(gè)函數(shù),讓你在處理工作過程中更高效2022-06-06pycharm不在cmd中運(yùn)行卻在python控制臺(tái)運(yùn)行問題解決
這篇文章主要介紹了pycharm不在cmd中運(yùn)行卻在python控制臺(tái)運(yùn)行問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08python之while循環(huán)、無限循環(huán)用法及說明
這篇文章主要介紹了python之while循環(huán)、無限循環(huán)用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06