Strongbox REST API 完全指南自动化管理制品仓库【免费下载链接】strongboxStrongbox is an artifact repository manager.项目地址: https://gitcode.com/gh_mirrors/str/strongbox Strongbox 是什么Strongbox是一款现代化的开源制品仓库管理器Artifact Repository Manager它原生支持Maven、NPM、NuGet、Raw等多种主流制品格式。而它的REST API则是连接仓库服务与自动化脚本、CI/CD 流水线之间的桥梁——有了它你不再需要手动点击管理界面一切仓库操作都可以通过 HTTP 请求完成。本文将从零开始带你掌握 Strongbox REST API 的核心用法帮你快速实现制品仓库自动化管理。全文面向新手尽量少贴代码、多讲思路让你读完就能上手。 第一步准备环境与认证方式在调用 Strongbox REST API 之前需要先完成两件事1. 启动服务并确认健康状态Strongbox 默认监听48080端口。启动后先用最简单的接口做健康检查curl http://localhost:48080/api/ping返回正常即表示服务已就绪。2. 使用 Basic Auth 完成身份认证Strongbox REST API 采用HTTP Basic 认证默认提供两个开箱即用的账号账号密码权限adminpassword管理员可进行全部操作deployerpassword部署人员可上传制品之后的每个请求都需要带上认证信息例如curl -u admin:password http://localhost:48080/api/configuration/strongbox 提示生产环境请务必修改默认密码并为不同角色分配最小权限。️ 核心 REST API 端点速查表以下是 Strongbox 最常用的一组 API 端点建议收藏备用功能HTTP 方法端点示例健康检查GET/api/ping查询服务器配置GET/api/configuration/strongbox创建存储PUT/api/configuration/strongbox/storages创建仓库PUT/api/configuration/strongbox/storages/{storageId}/{repositoryId}搜索制品GET/api/search?q{query}AQL 高级搜索GET/api/aql?query{aql}清空仓库垃圾箱DELETE/api/trash/{storageId}/{repositoryId}生成安全令牌GET/api/users/{username}/generate-security-token 上传与下载制品自动化部署的第一步制品仓库的核心操作就是上传和下载Strongbox 的做法非常符合直觉——用 HTTP PUT 上传用 HTTP GET 下载路径与仓库目录结构一一对应。制品上传PUT向仓库对应路径发送 PUT 请求即可完成制品部署以 Maven 制品为例curl -u deployer:password \ --upload-file target/my-app-1.0.jar \ http://localhost:48080/storages/public/maven-releases/org/carlspring/my-app/1.0/my-app-1.0.jar制品下载GET下载则只需对同一路径发起 GET 请求curl -u deployer:password \ -o my-app-1.0.jar \ http://localhost:48080/storages/public/maven-releases/org/carlspring/my-app/1.0/my-app-1.0.jar代码实现上上传/下载逻辑封装在 ArtifactClient.java 中其put()与getResource()方法分别对应上述两个操作还支持断点续传Range 请求。️ 存储与仓库管理一行命令搞定配置在 Strongbox 中存储Storage是顶级容器仓库Repository则挂在存储之下。通过 REST API 你可以完全自动化地创建和管理它们。创建仓库的最快方法curl -u admin:password \ -H Content-Type: application/json \ -X PUT \ -d {id:maven-releases,layout:Maven 2,type:hosted} \ http://localhost:48080/api/configuration/strongbox/storages/public/maven-releases查询与删除查询仓库信息GET /api/configuration/strongbox/storages/{storageId}/{repositoryId}删除仓库DELETE /api/configuration/strongbox/storages/{storageId}/{repositoryId}?forcetrue这些操作的完整调用示例都在 RestClient.java 中其中addStorage()、addRepository()、deleteRepository()等方法与上面的 API 一一对应是学习 REST API 调用的绝佳参考。 高级搜索用 AQL 精准定位制品Strongbox 内置了一套类似 SQL 的Artifact Query LanguageAQL可通过/api/aql端点进行制品高级搜索。这是实现仓库自动化管理时的利器。例如查找public仓库下所有org.carlspring组的制品curl -u admin:password \ http://localhost:48080/api/aql?queryrepository:public AND groupId:org.carlspringAQL 支持AND、OR、NOT等逻辑组合可按groupId、artifactId、version、repository等字段筛选。搜索接口的控制器实现位于 AqlController.java而 AQL 语法的解析逻辑则在 strongbox-aql 模块中包括 AqlQueryParser.java 和 AqlQueryVisitor.java。 若只是简单关键词搜索使用GET /api/search?q{关键词}即可入口在 SearchController.java。⚙️ 运维实用技巧让自动化更顺手技巧一批量重建 Maven 元数据当制品结构发生变化时可能需要重建 Maven 元数据curl -u admin:password -X POST \ http://localhost:48080/api/maven/metadata/public/maven-releases/org/carlspring/my-app技巧二清理垃圾箱删除制品后它们会进入垃圾箱可一键清理curl -u admin:password -X DELETE \ http://localhost:48080/api/trash/public/maven-releases技巧三生成用户安全令牌如需在 CI 脚本中避免明文密码可让用户生成安全令牌curl -u admin:password \ http://localhost:48080/api/users/admin/generate-security-token 相关模块与源码导航想深入了解 Strongbox REST API 的实现可按以下路径探索源码REST 客户端封装RestClient.java、ArtifactClient.java控制器层即 API 端点定义controllersAQL 高级搜索AqlController.java 与 strongbox-aql服务端配置管理configuration 控制器✅ 结语通过本文你应该已经掌握了 Strongbox REST API 的核心用法从健康检查、身份认证到制品上传下载、存储仓库管理再到 AQL 高级搜索与运维小技巧。有了这些基础你完全可以把它接入 CI/CD 流水线实现制品仓库自动化管理让发布流程又快又稳。现在去动手试试吧【免费下载链接】strongboxStrongbox is an artifact repository manager.项目地址: https://gitcode.com/gh_mirrors/str/strongbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考