Redmine整合Git实现推送更新Issue

一. 安装配置Git

1. 安装Git

        直接使用yum安装:yum install git

2. 配置账号密码:配置账号密码使之能够克隆库时免于输入

(1)cd ~/ && touch .git-credentials

(2)vi .git-credentials

(3)写入https://username:[email protected](视情况进行替换)

(4)保存并退出

(5)存至配置文件:git config --global credential.helper store

二. Redmine配置Git版本库

1. 配置SCM

(1)修改配置文件,位于项目路径下/config/congiguration.yml

(2)修改其中 scm_git_command: /usr/local/bin/git。记得冒号后面加个空格

2. 修改版本库配置项

(1)以管理员账号登陆,进入下图中页面

(2)启用git的SCM,勾上自动获取程序变更(实测没有用)以及启用Web Service,申城一个API密钥

(3)用于引用问题的关键字处在默认设置后加一个*

(4)酌情配置一下用于解决问题的关键字(可以参考下图)

3. Clone项目镜像

(1) 初始化一个git库:git init

(2) 克隆一个镜像:git clone --mirror [地址],例如git clone --mirror https://github.com/phlegx/redmine_gitlab_hook.git

          Ps:一定要加mirror否则redmine不识别

4. Redmine配置项目版本库路径

(1)进入项目中下图界面

(2)配置项

         1)SCM项选择git

         2)勾选主版本库

         3)标识处自定义一个名称

         4)URL处配置上文处获取的项目镜像,例如: /home/git/plcsuite/network/network-service.git

         5勾选报告最后一次文件提交

4. 设置定时任务定时更新版本库

(1)配置定时任务

             crontab -e

(2)在新打开的页面中进行配置,例如:*/2 * * * * cd /home/git/plcsuite/network/network-service.git && git fetch -q --all -p

             说明:前段为时间表达式,后段为需要执行的命令。本样例为两分钟一次获取最新镜像

             Ps:若需配置多条,新起一行即可

(3)启动定时任务服务:/sbin/service crond start

5. 测试样例:推送代码时message填写为fixed #1 [实际说明]。必须确实有id为1的Issue