安装redmine
1 | apt-get install redmine redmine-pgsql apache2 libapache2-mod-passenger apparmor |
如果安装过程后自动启动的配置出错,可以随时使用如下命令启动配置redmine的进程
1 | dpkg-reconfigure -plow redmine |
安装完后配置remine,在Apache的000-default.conf中映射
在/web/htdocs(网站根目录)下创建一个连接
1 | ln -s /usr/share/redmine/public redmine |
在apache 0000-default.conf中加入(也可在其他部分)
1 | <Directory /web/htdocs/redmine> |
之后可以用
1 | service restart apache2 |
重启apache,并在浏览器输入 http://localhost/redmine/
查看是否已经成功。
如果出现类似如下错误:
Web application could not be started
cannot load such file -- bundler/setup (LoadError)
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:245:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:348:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:243:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:158:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `<main>'
Application root
/usr/share/redmine
...
可能是ruby 没有安装bundle所致,用如下命令安装
1 | gem install bundle |
安装好后,要把目录权限修改下
1 | chown -R nobody:nogroup /usr/share/redmine |
注意上面的nobody nogroup是apache用户和组
安装 git
1 | apt-get install git-core |
配置
创建redmine用的仓库镜像
在/var/lib/redmine下创建一个repos目录,也可以放其他地方。
1 | cd /var/lib/redmine |
注意:不需要单独创建项目的.git目录,git clone会自动创建。
修改mirror里地权限设置
1 | cd /var/lib/redmine/repos/test.git |
以上设置是为了确保redmine程序对这里有读取的权限。
如果redmine访问时出现「404 版本库中不存在该条目和(或)其修订版本。」提示,那么可能是上述配置没有加好。
在redmine中登记仓库镜像位置
进入redmine对应的项目->配置->版本库,选择新增版本库
SCM选择Git,库路径处输入 /var/lib/redmine/repos/test.git,并设置其他项目最后保存。(注意:如果用的docker redmine,这里要填写的路径是docker内的路径,不要写成宿主机的路径,一般是存在宿主机上,通过docker -v参数映射给docker访问,这是就是映射的目录+仓库目录了)
从redmine里版本库标签看到的是master分支的源码,可以前后到其他标签,如果默认想看其他标签的,例如develop分支
1 | cd /var/lib/redmine/repos/test.git |
这样默认就是develop分支了
git commit message 和 redmine issue 关联
以后push到git server的更新,commit message中有 #101 字样的提交会被自动关联到101号问题。
例如:
fixed bug #101 @1h30m
如果需要自动更改问题状态,请在管理->配置->版本库处设置关键字。
设置git仓库,收到提交后自动更新redmine用镜像
通过设置hooks 来实现
1 | cd /home/git/projects/test.git/hooks |
创建post-receive文件,文件内容
1 |
|
apikey在redmine 管理->配置->版本库下面,选中“启用用于版本库管理的WebService”,然后生成一个API key。并把生成的key拷贝到这里。
1 | chmod 755 post-receive |
登记耗时不成功的可能原因
如果在 git commit message 中写的 耗时不被记载入redmine,可能是以下几个原因
- 在版本库配置「在提交信息中引用和解决问题」处,记录的活动选择了「默认」,而枚举值设置中,「活动(时间跟踪)」没有设置默认值
- 提交的用户和项目中设置的开发人员不匹配,git提交的用户,用户名和邮箱需要和项目中开发人员对应的账号匹配