完善权限,独立代码扫描,镜像构建--百度效率云7月升级一览
距离百度效率云正式发布已经2个多月,在这两个月的时间里,百度效率云又更新了一系列大的功能模块,借这次机会,正式向大家汇报一下百度效率云近期的产品迭代成果:
百度效率云入口
近期产品的重大更新:
1. 完善项目权限模型,项目间权限隔离
2. 代码扫描增加独立入口,不挂载流水线也可使用
3. 增加Docker镜像构建,镜像仓库
下面我就来为大家介绍一下以上几个升级点:
完善项目权限模型,项目间权限隔离:
在百度内部,项目空间、代码库和流水线是三套彼此独立的权限系统,用户可以同时拥有不同的项目和代码库的权限。
但是,在服务外部客户的时候,尤其是和不同企业都有项目合作的业务形态下,客户需要一种更加集中式的权限管理,用以区分人员,代码库和信息的权限。引用开源界那本著名的书籍名称,我们把这两种权限模型称之为--"集市和大教堂"
因此我们重新梳理了权限模型,建立了以项目为授权基准,产品需求,代码库,流水线都包裹在项目内部。这样实现了项目间信息的隔离。现在用户进入到效率云的首页,首先看到的是有权限的项目列表,进入到项目内部,才能看到具体的功能组件
进入到项目后,才能看到具体的功能组件:
项目的创建者可以在左下角的项目设置-->权限设置页面里对用户进行授权和添加,目前项目权限分为三种: 管理员: 对需求卡片,代码库,制品库有新建,删除,编辑权限;可以添加或删除用户;编辑: 可以新建卡片,提交代码,编辑流水线,但是不能添加用户,无法新建制品库;只读: 只能读取项目内部信息,无法编辑或新建;
代码扫描增加独立入口,不挂载流水线也可使用:
iScan在百度内部一直做为pipeline的插件,用户可以通过配置将iscan加载到流水线上,在代码提交,分支合并时触发代码扫描服务。现在我们将iScan做为一个独立的服务暴露出来,用户无需代码操作即可进行代码扫描操作:
在独立服务页面中,我们支持两种代码库地址操作,一种是iCode上已经托管的代码库,用户进入到icode代码库详情页面,选择克隆代码即可获得icode的代码库地址
另一种模式,用户可以直接Copy github的代码库地址,当地址以github.com做为域名的时候,就要求用户输入github的授权, 输入用户名密码之后即可使用。后续我们会升级成为直接调用github的授权,避免用户在效率云中输入其它系统用户名密码的情况。
用户可以在任务列表中查看已经建立的任务,点击列表最右侧的操作图标,即可查看扫描结果
扫描结果页面
增加Docker镜像构建,镜像仓库
为了配合智能云上的微服务管理平台CNAP和容器云引擎CCE,我们在构建环节增加了Docker镜像的构建和存储功能。为了使用Docker镜像构建,用户需要开通irepo组件,并在irepo组件中新增一个docker仓库:
需要注意的是,企业管理员还需要在企业设置中,设置镜像仓库的密码,这是因为镜像仓库本身就使用了CCE集群技术,后续用户在对接CNAP和CCE的过程中,还需要进一步的授权:
现在回到ipipe流水线,用户在配置ipipe的maven,gradle构建插件的时候,勾选"制作Docker镜像",即可配置Docker镜像的构建过程:
在这里,制品库地址即为刚才开通的镜像仓库地址,我们建议用户直接将Dockerfile放到代码库根目录,在Dockerfile这一栏,直接填写根目录的相对目录即可。对于习惯使用docker build -f path/to/dockerfile 的用户,我们暂时还不能支持。另外,dockerfile的书写,暂时需要用户在自己本地完成。
配置完成之后,触发流水线,执行成功后用户即可看到镜像仓库里新增了镜像的版本:
以上就是近期百度效率云重点的改版工作,我们目前正在进行的工作包括:
1. 对接github,支持github授权,完善开源开发场景;
2. 批量导入用户,批量建立项目,和Jira的数据互导;
3. Maven, gradle缓存机制,进一步优化java构建效率;
4.接入百度飞桨指定的AI模型训练平台--EasyDL, 完善AI服务开发场景;
对效率云感兴趣的用户,可以直接访问效率云主页免费试用我们的产品,再次感谢大家对百度技术的关注。