redmine与gitlab集成,并自动提交版本变更记录和修改redmine Issue

一.redmine配置

  1. redmine设置存储库(具体操作查看我另外一篇博客:redmine创建版本库),不过可以不用做定时任务,因为这个要通过gitlab的webhook来做自动更新。
  2. 安装redmine_gitlab_hook插件(具体操作查看我另外一篇博客:redmine安装github_commit和redmine_gitlab_hook插件),如果安装后插件没有配置的选项可能是版本兼容问题,换其他版本试试。我这里重新安装了下
    cd redmine插件目录
    git clone git://github.com/phlegx/redmine_gitlab_hook.git
    bundle exec rake redmine:plugins:migrate RAILS_ENV=production
    service httpd restart
  3. redmine_gitlab_hook插件设置,勾选下面两个选项就行。
    redmine与gitlab集成,并自动提交版本变更记录和修改redmine Issue_第1张图片
  4. 测试 redmine_gitlab_hook插件,浏览器输入http://redmine/gitlab_hook?project_id=mycs_java&key=xxx,返回ok说明正常,如果是404或者其他可能就有问题,很多人都会遇到404的情况
    redmine是redmine的域名或者ip:端口
    project_id是redmine项目名
    key是存储库的api key
  5. 我第一次配置时候也是404,然后查看redmine日志和其他文档,找到了解决方法。
    tail -f /var/www/redmine/log/production.log
    redmine与gitlab集成,并自动提交版本变更记录和修改redmine Issue_第2张图片
  6. 错误原因是gitlab的web_hook发送过来的请求是GET,而不是插件要求的POST。解决方法是修改redmine_gitlab_hook插件的代码
    进入插件目录,把gitlab_hook_controller.rb文件的这几个注释掉
    vim app/controllers/gitlab_hook_controller.rb
    redmine与gitlab集成,并自动提交版本变更记录和修改redmine Issue_第3张图片
  7. 浏览器重新输入刚刚的网址,返回ok
    在这里插入图片描述

二.gitlab设置hook挂钩

  1. hook设置参考我下篇博客:gitlab配置webhook自动更新redmine状态和gitlab提交日志

三.测试:Git 提交自动修改redmine issue

  1. 在gitlab新建一个项目,redmine新建一个项目并新建一个问题issue
  2. gitlab提交,commit message格式和redmine创建版本库的填写有关,可以看我另一篇博客:redmine创建版本库
    redmine与gitlab集成,并自动提交版本变更记录和修改redmine Issue_第4张图片
  3. redmine查看issue修改情况,可以看到已经自动修改了。
    redmine与gitlab集成,并自动提交版本变更记录和修改redmine Issue_第5张图片
    redmine与gitlab集成,并自动提交版本变更记录和修改redmine Issue_第6张图片

四.其他篇

  1. gitlab配置webhook自动更新redmine状态和gitlab提交日志
  2. redmine创建版本库
  3. redmine安装github_commit和redmine_gitlab_hook插件

你可能感兴趣的:(devops,自动化运维)