最近多次听到Harbor这个名字,所以简单的看了一下它是个啥,并且思考了一下为啥要用这个玩意。我的理解不一定正确,所以请勿拍。
首先,Harbor是企业级Registry服务器,它的目标用户是企业级。所以它除了Registry应有的功能之外,增加了对企业管理方面的功能。个人认为,有实际意义的有如下几个:
1. 基于角色的访问控制
2. namespace隔离
3. 自动构建
4. UI
至于其它的诸如安全、多仓库实例同步等、真心不觉得一般的企业能用得到。除非像是阿里云那样规模的公有仓库才能用上。
但事实上,Harbor对于企业来说真正有实际意义的版本管理功能并没有什么特色,例如像git那样对已发布版本可以打tag,并可以很方面的回退到任意一个tag版本。而Harbor就和一个普通的仓库一样,提了就提了,想要将整个仓库回退到某个版本,不行……
所以,个人认为,Harbor还不如传统的Jenkins好用。通过Jenkins+shell+git+Dockerfile,一样可以做到代码管控,自动构建,上传仓库,并根据版本号将仓库压缩打包,发布。