Gitlab:使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
Redmine:项目管理和bug跟踪工具。
TestLink:基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能。
Redmine作为项目问题及bug收集汇总的地方,gitlab及testlink通过调用redmine的api进行对问题进行更新。那第它们之间是怎么配置的呢?下面就一起来配置下。
Redmine部署与插件安装
相关配置在github项目:https://github.com/xhuaustc/redmine-openshift
-
Dockerfile中更新了docker-entrypoint.sh文件,更新了数据库的编码(mysql: utf8mb4 )
创建镜像
$ docker build -t harbor.local.com/public/redmine .
$ docker push harbor.local.com/public/redmine
- 在openshift上创建新的项目
创建工程
$ oc new-project redmine
允许redmine项目中的pod使用root用户运行
创建工程
$ oc adm policy add-scc-to-user anyuid -z default -n redmine
在新建的redmine工程中基于模板文件redmine-mysql-ephemeral.yaml在openshift上创建应用。
注意:
- 需要更新redmine的Deployment中的template.spec.containers[0].image为刚刚自己创建的镜像harbor.local.com/public/redmine
- 创建应用时添加环境变量REDMINE_PLUGINS_MIGRATE为1
- 添加环境变量GITLAB_USERNAME及GITLAB_PASSWORD。这两个参数用于redmine的gitlab_callback插件拉取代码。
将git中的plugins目录文件导入到名字为redmine-file-data的PVC中
Testlink安装
基础镜像php56:https://github.com/sclorg/s2i-php-container/tree/master/5.6
Testlink代码:https://github.com/xhuaustc/testlink-code.git
Mysql数据库:创建Data Stores(Mysql)
Gitlab(9.3.11)安装
当前gitlab使用9.3.11版本,主要是因为9.4以上的gitlab版本与redmine集成有兼容问题。
对应的模板文件路径:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/9.3.11+ce.0/docker/openshift-template.json
安装部署如Openshift上安装Gitlab
至此完成了gitlab+redmine+testlink的安装,接下来就是通过配置,使它们之间能够完成问题的管理。
Gitlab + redmine + Testlink集成
一、准备环境创建项目:gitlab项目test, redmine项目test, testlink项目test
二、设置redmine。
1、管理 -> 插件 -> Redmine GitLab Hook plugin配置
2、开启api设置
管理 -> 配置 -> API
3、版本库设置
管理 -> 配置 -> 版本库
记录版本库管理网页服务API密钥:例如l1D2z8DJXiL4lFNSl2O4
三、gitlab配置
1、在test代码库中,Settings -> Integrations
添加webhook:http://redmine-redmine.apps.local/gitlab_hook?project_id=test&key=l1D2z8DJXiL4lFNSl2O4
Gitlab Hook2、开启Redmine:Settings -> Integrations -> Redmine
Gitlab testlink四、配置testlink
1、查看redmine API访问key
点击我的账号,右边栏显示key
2、配置testlink的代码追踪
设置testlink的语言为简体中文
点击项目主页中的:缺陷跟踪系统管理
添加一个redmine的追踪
其中apikey就是redmine下用户对应的Key.
通过以上集成配置后的世界是怎样的呢?
- 创建测试case
- redmine上创建bug issue
- 在testlink上同步redmine的issue id
- testlink将自动同步问题内容
- 开发人员提交代码
- 开发人员使用约定格式的commit msg提交代码
- 状态会自动同步redmine,并反映到testlink
- 测试人员根据testlink上的信息,对相关问题进行测试验证
- testlink上添加评论
- 测试人员testlink上添加评论
- redmine对应的issue下会自动同步评论
网友评论