confluence和jira都是比较常见的开发辅助工具,这两者账户是可以互通同步的。方式有很多种,目前用的是confluence用户目录的形式,去拉取jira的用户体系,当然也支持LDAP等其他方式同步的。
Confluence版本:6.14.10,Jira版本:7.12.3,是部署在docker中的
如果是通过jira创建用户目录,由confluence来同步的话,要先安装好jira,并建立相关用户。在confluence安装时选择connect to jira或者安装完成后在站点管理-用户目录-添加用户目录进行配置
注意服务器URL必须根据容器网络情况填写,比如常见的bridge模式连接的话,必须填写bridge上的地址,比如我的就是容器的ip地址+端口172.17.0.3:8080
配置jira权限
jira权限主要是通过权限方案来控制的。每个项目都会指定一种权限方案,在权限方案中定义每种权限对应的人,可以是管理项目、浏览项目等等。下面说说我的权限方案。
首先从右上角 管理-问题-权限方案进入页面
在Jira创建用户组,因为需要隔离两个项目的人员,所以在Jira中就创建projectA-users和projectA-manager这样的用户组
我的项目分为管理员manager,pm产品经理,test测试人员,users普通开发人员,这只是个范例,实际可能需要根据权限划分把每种角色都细化。
创建完成后,给每个用户组编辑成员
然后是最重要的两步,第一步给用户组授予应用程序访问权,否则这些账号连登陆都登陆不了。
最后维护一下权限方案 ,打开问题-权限方案.并分别为项目A和B添加权限方案。建议写好一个后另一个直接复制,参照着改更快。
点击权限方案右侧的权限,进入权限定义页面。比如给manager管理项目的权限,并且给user,pm,test浏览项目的权限。
又比如这里,给manager,pm有创建问题的权限(实际还应该加上test),而删除问题只有项目的administrator才有权限。
项目的administrator在项目首页下面的项目设置-用户和作用中打开
可以看到默认每个项目的Administrators都会包含jira-administrators这个用户组。你可以再右上角为角色添加用户, 特别的指定某一用户为该项目管理员
配置confluence
配置前,需要先同步目录,把用户、用户组从jira中同步过来。
进入设置-一般设置-用户目录,可以看到有一个远程的jira目录,点击同步,刚才在jira中定义的用户、用户组就都同步过来了
首先定义全局权限,进入左边的全局权限-编辑权限,把需要授权的用户组都加上,呈现可用状态,否则无法登录confluence。这里还可以选择创建空间(一般用户不需要给),站点管理,系统管理员权限。
然后是空间权限。可以定义全部、页面、博文、附件、评论等权限。打开空间权限,下面是现有的空间。我这里是把默认用户组设置为newbie,避免新人直接接触到项目核心资料。
然后为每个空间分别定义权限。打开项目右侧的权限管理。
为manager加上全部权限,而pm,user只给添加权限
需要注意最下面的匿名访问,如果允许匿名用户访问的话,所有用户都可以看到内容。一般而言,我们把它关掉。仅有公共新人资料区可以打开,比如我可以创建一个welcome空间,用于存放入职资料。
好了,这样所有项目权限就定义完毕了。项目相互隔离,无法互相访问,每个项目又分为manager,pm,user几种角色,当然还可以进行细分。
因为新人进来还需要创建gitlab账号,gitlab,jira,confluence都是支持ldap的,所以后面考虑搭建一个open ldap服务来集中管理用户账号。