从零开始的Devops-jenkins权限管理

Jenkins权限需求分析

公司一般会有多个产品,或多个应用,如何管理多个Jenkins是个重要的问题。

根据公司需求需要多个纬度

公司多个事业部- 部门一,部门二,部门三,部门四
公司多个项目- 项目一,项目二,项目三
公司多个端-iOS,安卓,SpringBoot,Vue
项目的阶段-Dev,Release,Product, Test与Git重要分支相对应或与重要演示等用途对应

暂定

Jenkins的Project的项目名_iOS_Dev,例如:Shop_iOS_Dev,MyProject_JavaWeb_Dev

配置规则及如何配置

配置ldap用户,第一次需要用户登陆。
Jenkins设置认证方式为role-based。
添加全局的Role权限。 全局只读,全局Admin角色。
添加项目的Role权限。 项目的开发,测试,项目Admin。
Project根据正则匹配设置权限。
根据我们的项目名正则,去配置项目的权限。
开发有配置权限,测试配置权限,编译权限。

流程

很少一部分人设置admin。
较大的项目出现需要创建三种角色,项目admin,项目dev,项目test。
Shop_iOS_Dev为例子,ShopAdmin,ShopDev,ShopTest。
项目Admin有整个项目的权限,Dev可配置,测试可Build。

较小的项目需要项目admin即可可简化流程。
根据目前实际情况,大部分项目只需要配置项目admin和项目限制项目。

Jenkins规范的重要几个步骤

权限划分与开通-建议较大的项目有开发(dev),测试(Test),投产(Release)几个分支与项目
根据tag或分支打包-建议较大的项目强推用tag打包
所有项目配置产物备份到指定ftp,根据tag进行备份
所有项目配置打包邮件,打包邮件内容包括,项目名,版本号,两次tag间修改纪录,产物ftp存放路径,开发和测试都可以通过ftp路径获取产物包

Jenkins需要不同纬度进行权限区分

不同项目 项目名1,项目名2,项目名3
不同类型 Back,Font,H5,iOS,安卓
不同阶段 开发,测试,生产

通过Role-Based进行权限需要根据Jenkins命名

命名项目为 Name_Plantform_UseWay
项目名_平台名_打包用途
MyProject_JavaWeb_Dev
MyProject_JavaWeb_Test

用户权限

https://blog.csdn.net/u013066244/article/details/53407985
https://www.cnblogs.com/peng-lan/p/9809644.html
https://www.cnblogs.com/langhua/p/11320748.html
https://www.jianshu.com/p/bbf4c5ac3232
https://blog.51cto.com/wzlinux/2160778

凭据权限

posted @ 2020-02-10 12:01  于欣轩  阅读(331)  评论(0编辑  收藏  举报