发布服务(CloudRelease)为软件开发企业提供管理软件发布过程的能力,保障软件发布过程的规范化、可视化及可追溯。
相对于开发过程中的“源代码”,发布服务关注和管理的是开发产生的待部署的“软件包”(通常由源码编译构建或打包而成)及其生命周期元数据(如名称、大小等基本属性、由哪些源码生成、构建时间、经过哪些测试、部署到什么地方等)。
“软件包”及其属性的管理是发布过程管理的基础,也是软件开发过程中的重要资产,常见的软件研发过程如下:
图中的“Repository”是我们常说的“软件制品库”,用于管理软件开发过程产生的“软件包”,它是连接持续集成和持续交付的重要环节,软件包的发布评审、追溯和安全控制等操作通常在其中进行。
综上,发布服务主要包含如下功能:
软件发布库
用户管理所有编译构建或打包生成的软件包实体及其生命周期属性。
私有依赖库
相对于“maven central”等 开源 中央仓,私有依赖库提供企业内部管理私有公共组件的私服,适配各种语言及依赖包管理工具,如maven、npm等。