持续集成交付CICD:通过API方式上传Nexus制品

目录

一、实验

1.通过API方式上传Nexus制品

二、问题

1.如何通过API方式上传PNG图片

[2.如何通过API方式上传tar.gz 与 ZIP文件](#2.如何通过API方式上传tar.gz 与 ZIP文件)

[3.如何通过API方式上传Jar file文件](#3.如何通过API方式上传Jar file文件)

4.如何通过API方式上传制品(maven类型的制品)文件

5.如何下载制品


一、实验

1.通过API方式上传Nexus制品

(1)Nexus选择API界面

(2)进入API界面

(2)指定仓库名

(3)选择上传的目录、文件、文件名

(4)移动到底部点击"Execute"

(5) 执行完成,返回204成功

bash 复制代码
curl -X 'POST' \
  'http://192.168.204.13:8081/service/rest/v1/components?repository=mylocalrepo' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -H 'NX-ANTI-CSRF-TOKEN: 0.14963680641366128' \
  -H 'X-Nexus-UI: true' \
  -F 'raw.directory=/org/devops' \
  -F 'raw.asset1=@sonarqube-community-branch-plugin-1.12.0.jar' \
  -F 'raw.asset1.filename=sonarqube-community-branch-plugin-1.12.0'

(6)修改代码,添加认证信息,修改存储目录及文件,主机运行代码

bash 复制代码
curl -u admin:Admin123 -X 'POST' \
'http://192.168.204.13:8081/service/rest/v1/components?repository=mylocalrepo' \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-H 'NX-ANTI-CSRF-TOKEN: 0.14963680641366128' \
-H 'X-Nexus-UI: true' \
-F 'raw.directory=/org/devops/aa' \
-F 'raw.asset1=@target/maven-test-1.0-SNAPSHOT.jar' \
-F 'raw.asset1.filename=maven-test-1.0-SNAPSHOT.jar'

(7)显示已上传成功

二、问题

1.如何通过API方式上传PNG图片

(1)修改代码

bash 复制代码
curl -u admin:Admin123 -X 'POST' \
'http://192.168.204.13:8081/service/rest/v1/components?repository=mylocalrepo' \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "raw.directory=/tmp" \
-F "raw.asset1=@123.png;type=image/png" \
-F "raw.asset1.filename=123.png"

2.如何通过API方式上传tar.gz 与 ZIP文件

(1)修改代码

bash 复制代码
curl -u admin:Admin123 -X 'POST' \
'http://192.168.204.13:8081/service/rest/v1/components?repository=mylocalrepo' \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "raw.directory=/tmp" \
-F "raw.asset1=@nexus-3.63.0-01-unix.tar.gz;type=application/x-gzip" \
-F "raw.asset1.filename=aaa.tar.gz"



curl -u admin:Admin123 -X 'POST' \
'http://192.168.204.13:8081/service/rest/v1/components?repository=mylocalrepo' \
-H "accept: application/json"  \
-H "Content-Type: multipart/form-data" -F "raw.directory=/tmp" \ 
-F "raw.asset1=@sonar-scanner-cli-4.8.0.2856-linux.zip;type=application/x-gzip" \
-F "raw.asset1.filename=sonar-scanner-cli-4.8.0.2856-linux.zip"

3.如何通过API方式上传Jar file文件

(1)修改代码

bash 复制代码
curl -u admin:Admin123 -X 'POST' \
'http://192.168.204.13:8081/service/rest/v1/components?repository=mylocalrepo' \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "raw.directory=/tmp" \
-F "raw.asset1=@aopalliance-1.0.jar;type=application/java-archive" \
-F "raw.asset1.filename=aopalliance-1.0.jar"

4.如何通过API方式上传制品(maven类型的制品)文件

(1)修改代码

bash 复制代码
curl -u admin:Admin123 -X 'POST' \
'http://192.168.204.13:8081/service/rest/v1/components?repository=mymavenrepo' \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "maven2.groupId=com.jenkinsci" \
-F "maven2.artifactId=devopsservice" \
-F "maven2.version=1.1.5" \
-F "maven2.packaging=jar" \
-F "maven2.asset1=@maven-test-1.0-SNAPSHOT.jar;type=application/java-archive" \
-F "maven2.asset1.extension=maven-test-1.0-SNAPSHOT" \

5.如何下载制品

(1)cURL

bash 复制代码
curl -u admin:Admin123 http://192.168.204.13:8081/repository/mymavenrepo/com/jenkins/devopstest/1.1.2/devopstest-1.1.2.jar 

(2)Wget

bash 复制代码
wget --http-user=admin --http-passwd=Admin123 http://192.168.204.13:8081/repository/mymavenrepo/com/jenkins/devopstest/1.1.2/devopstest-1.1.2.jar 
相关推荐
国科安芯25 分钟前
轨道供电韧性:ASP4644四通道降压架构在低轨卫星平台电源管理中的适用性分析
运维·网络·数据库·嵌入式硬件·架构·状态模式·低轨卫星星座
Python自动化直播1 小时前
周末测试直播自动化时,发现一个棘手的并发问题
运维·自动化
zbyyd2 小时前
Linux 进程管理详解:从概念到实战
linux·运维·服务器
画中有画2 小时前
自动化脚本中系统事件和回调函数
运维·自动化
阿朝笔记2 小时前
PC / 外设资产 TCO 测算模型:租赁模式和直接采购怎么量化对比
运维开发·it资产管理·tco测算·硬件全生命周期·itam
敢敢のwings3 小时前
类OpenClaw 网络深度解析:AI Agent 自动化的新范式
运维·人工智能·自动化
IPdodo_3 小时前
代理 IP 服务商 SLA 怎么验?7 项指标与 Python 探测脚本实战
运维·python·网络协议·网络安全·代理ip
云飞云共享云桌面4 小时前
智能装备工厂研发团队如何利用单台服务器承载 10 路 SolidWorks 并发?
运维·服务器·3d·自动化·制造
王琦03184 小时前
haproxy
运维·云原生
发量惊人的中年网工4 小时前
如何验证DDoS高防真的生效?从源站隐藏到正常访问的完整验收方法
运维·网络·数据库·ddos