DevOps下的角色及工作流

角色说明

角色职能
admin
管理员
对自动化部署系统进行系统管理、插件管理、编译节点建设、用户及权限管理。 对Jenkins使用的密钥进行管理。
sa
发布配置工程师
建立Jenkins编译任务(Build job)、发布任务(Publish Job)
scm
运维配置工程师
建立配置文件模板、配置文件参数,编写自动运维剧本
dev
开发工程师
编写代码、提交至SCM。
test
测试工程师
按顺序进行测试、准生产、生产各环境的发布、测试、审核审批
master
DevOps架构师
设计并实现DevOps的架构、流程、角色、规范,选择并应用各DevOps工具,指导全员融入DevOps体系

角色权限表 – Jenkins

RoleOverallCredentialsManage ownershipAgentJobPipelineRunViewSCM
adminAllAllAllAllAllAllAllAllAll
devNoneNoneNoneBuild, CancelDeploy to test (Automatically)NoneNoneNone
qaNoneNoneNoneBuild, CancelTestPassDeploy to uat&prodNoneNoneNone
scmCreate, Update, ViewALLNoneConfigureand All for test usageAll for test usageAllNoneNone
saCreate, Update, ViewNoneALLNoneNoneNoneNoneNone

启用角色管理插件

进入Jenkins管理页面,配置全局安全配置, 选择 Role-Based Strategy,保存。在保存前,先备份Jenkins Home下面的config.xml文件,当权限配置出错时,会导致管理员登录不进去。此时还原config.xml文件即可解决。

配置全局角色、项目角色

然后开始按上述权限表进行配置,进入Jenkins系统管理 -> Manage and Assign Roles -> Manage Roles, 通过新增,勾选,得到如下图所示的全局角色表、项目角色表。

建立用户,并授权角色

使用OpenLdap,添加用户。

Jenkins开启Role-Based Strategy组件之后,不接受OpenLdap的角色属性,因此,Jenkins内部权限应迁移到Manage and Assign Roles中进行配置。

进入系统管理 -> Manage and Assign Roles -> Global roles -> User/group to add -> 添加用户邮箱 -> 然后勾选对应角色

进入系统管理 -> Manage and Assign Roles -> Item roles -> User/group to add -> 添加用户邮箱 -> 然后勾选对应的项目组

其他与职能角色相关的任务

SA / SCM:

  1. 管理playbooks部署代码,负责项目及工程配置
  2. 管理 configs/prod 的配置代码修订
  3. 在Jenkins中发布playbooks库
  4. 在Jenkins中发布configs生产库
  5. 维护Jenkins的项目、工程文件。[SA/Dev]

Admin:

  1. 管理角色、用户、角色赋权
  2. 管理整体Jenkins配置

Dev:

  1. 维护业务代码
  2. 维护业务Config。由于生产配置库使用加密存储,Configs/Prod的配置,特别是涉及到密码的配置,由SA管理。
  3. 发起Pipeline编译过程,完成从编译、测试环境发布、测试过程,进入UAT发布准备阶段。

Test:

  1. 承接Dev的测试环境,共同完成测试验证工作。
  2. 确认发布UAT环境
  3. 验收UAT环境
  4. 发布PROD环境
  5. 验收PROD环境

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据