Jfrog开源替代,推荐一款国产开源免费的制品管理工具 - Hadess
在我们的日常开发中,通常使用到的制品管理工具主要有jfrog/nexus/habor等,以jfrog为例功能整体比较强大,支持的语言种类也相对丰富,但其不足之处也是有的,如页面交互不太直观简洁,尤其不太符合国人操作习惯,另外就是商业版本价格相对比较昂贵等。
今天给大家推荐一款国产开源免费的制品管理工具 - Hadess,Hadess包含制品库管理、制品搜索、制品扫描等模块,支持常见的制品类型如Maven、npm、Go、Docker、Helm、Generic、pypi、Composer、Nuget等,产品功能完善、界面简洁、开源免费,本文将介绍如何快速安装配置Hadess及简易的入门指南,以对工具有个基本的入门了解。
1、安装
支持 Linux、docker、Windows、Mac 等操作系统
1.1 Linux安装
本文以ubuntu安装
- 下载
点击ubuntu下载,可通过安装下载也可在网页命令在线安装
wget -O tiklab-hadess-1.2.2.deb https://install.tiklab.net/app/install/hadess/V1.2.2/tiklab-hadess-1.2.2.deb
- 安装
上传之后执行以下命令安装,默认安装在opt 目录下
dpkg -i tiklab-hadess-1.2.2.deb #ubantu安装命令
- 启动
安装之后会在opt目录下出现一个名字为 tiklab-hadess的文件夹,在tiklab-hadess下的bin文件夹下,执行 sh startup.sh 命令,启动项目
cd /opt/tiklab-gitpuk/bin
sh startup.sh
1.2 Docker安装
- 下载
点击Docker下载,可通过安装下载也可以在网页命令在线安装
wget -O tiklab-hadess-1.2.2.tar.gz https://install.tiklab.net/app/install/hadess/V1.2.2/tiklab-hadess-1.2.2.tar.gz
- 安装
安装包名字为tiklab-hadess-1.2.2.tar.gz,下载完成执行以下命令加载镜像
docker load -i tiklab-hadess-1.2.2.tar.gz
- 启动
加载完成后,执行以下命令镜像启动
docker run -itd -p 9700:9700 tiklab-hadess:1.2.2
1.3 Windows 安装
- 下载:Hadess-下载
- 安装:双击执行文件 -> 选择安装位置 -> 点击安装
- 启动:安装完成后点击左面Hadess图标即可启动
1.4 Mac安装
- 下载:Hadess-下载
- 安装:双击可执行文件 -> 将tiklab-hadess-1.2.2.app拉入应用程序中即可
- 启动:安装完成后点击启动太Hadess图标即可启动
2、登入
- 启动完成后,浏览中访问 http://ip:9700, 就可以打开Hadess界面, 默认登录帐号密码为admin/123456
- 同时支持LDAP、企业微信、钉钉登录方式,具体配置见:配置详细
登录页
Hadess首页
支持登入方式:
支持类型 | 登入方式 |
账号登入 | 默认登入方式 |
企业微信登录 | 企业微信用户扫描登录 |
钉钉登录 | 钉钉用户扫描登录 |
Ldap登录 | Ldap用户登录 |
3、配置
进入项目config文件夹下,编辑application.yaml 即可自定义配置
3.1 自定义端口
修改文件中的server.port的值为自己想要配置的端口,重新启动即可
3.2 自定义数据库配置
- 使用的数据库为postgresql,Hadess同时支持使用外部数据库以及内嵌数据库。默认使用内嵌数据库
- 外部数据库:用户自己定义链接数据库的地址,用户名,密码等。
- 内嵌数据库:使用系统内置的数据库
(1)使用外部数据库
注意:使用外部数据库的时候,需要将内嵌数据库postgresql.embbed.enable后面的数据修改为false
属性说明:
字段 | 说明 |
jdbc.url | 数据库地址,修改为自己的外部数据库地址 |
jdbc.username | 数据库用户名,修改外部数据库用户名 |
jdbc.password | 数据库密码,修改外部数据库密码 |
(2)使用内嵌数据库
默认使用的是内嵌数据库
属性说明:
字段 | 描述 |
postgresql.embbed.enable | 是否使用内嵌数据库,true(使用)、false(不使用)。如果配置false,需要把jdbc下的数据库连接信息更改为自己的数据库地址、用户、密码 |
postgresql.embbed.database | 内嵌数据库名字。如果需要修改内嵌数据库名字,同时也要修改jdbc.url后面的数据库名字 |
postgresql.db.port | 内嵌数据库的端口。如果需要更改,同时也要修改jdbc.url后面的数据库端口 |
postgresql.db.username | 内嵌数据库用户名。如果需要更改,同时也要修改jdbc.username值 |
postgresql.db.password | 内嵌数据库密码。如果需要更改,同时也要修改jdbc.password值 |
postgresql.db.address | 内嵌数据库存储地址。注意:如果更改该目录,该路径目录必须为空目录,否则会导致数据库无法启动 |
3.3 自定义数据存储目录
DATA_HOME为数据文件存放地址。
# 数据存放地址
属性说明:
属性 | 值 |
dcs.server.port | dcs启动端口,必须与dcs.client.url 的端口号保持一致 |
4、快速入门
4.1 制品搜索
- 查询制品
支持制品类型如:Generic、Npm、Docker、Maven、Helm、Go、pypi、composer、nuget、Conan、Rpm。
- 制品信息
- 制品类型
4.2 制品库管理
- 创建本地库:点击新建制品库选择新建本地库添加信息,点击确认
- 创建远程库:点击右上角新建远程库,输入对应内容即可
- 创建组合库:点击右上角新建组合库输入对应内容点击确定即可
- 修改本地库:修改仓库名字和描述
- 修改远程库:修改远程库代理地址至少要有一个,代理地址只有一个的时候不能被删除
- 修改组合库
1.修改仓库名字、关联的制品库
2.左边的是未关联的制品库,右边是已关联的和待确认关联的制品库。要将未关联的制品库关联,先鼠标点击需要关联的制品库,再点击中间向右图标,将该制品库放入右边待确认
3.移除关联制品库,鼠标点击需要移除的制品库,再点击向左图标,将该制品库放入左边。最后点击确定修改
- 查询制品库:通过条件查询制品库(所有库、本地库、远程库、组合库)通过制品库名称关键字查询制品库
4.2.1 本地库制品上传
即可在maven制品库库制品界面点击右上角上传制品,只有本地local库可以上传界面上传适用于第三方只有 jar 包或者压缩文件,不适用于自己有pom.xml文件。
4.2.2 制品推送与拉取
- 推送
1. 本地已经配置,跳过凭证配置
2. 进入制品库界面点击右上角操作指引选择maven进入操作指引界面,替换对应的文本。将其添加至 settings.xml 文件中。
实例:
1. 点击推送table替换文本后,复制下列配置到项目的 pom.xml 文件当中
2. 执行 mvn deploy 命令
- 拉取
1. 操作指引界面拉取,替换文本,复制配置到 settings.xml 当中
2. 在项目pom.xml中配置依赖包(dependencies 标签)
3.执行mvn install 拉取制品
其他制品类型拉取或推送同理,支持类型:Generic、Npm、Docker、Maven、Helm、Go、pypi、composer、nuget、Conan、rpm。
- 删除制品库
进入制品库,点击仓库设置找到仓库删除点击删除即可。