本例中使用的是sameersbn docker-redmine。其它版本的Redmine与Git集成方法可能会不同。
如果你的团队是开发团队,恰好也在使用Redmine管理项目,本文讲的是如何在自己的服务器上搭建Git,让团队成员使用自己服务器上的代码仓库,并在Redmine的版本库进行配置,在Redmine中查看团队成员提交代码的修订记录,并把修订的版本与问题关联,实现发现问题(提出需求)——开发——推送、合并代码——解决问题的闭环管理,并在Redmine中对团队成员的代码提交数据进行简单的统计。
如果你的团队不是开发团队,甚至不知道Git是干啥的,不建议继续阅读。因为Git能对文本格式的文件实现版本控制与差异管理,并不能直接管理Word、Excel等格式的文件,需要把这些文件转换成文本格式(如Markdown或CSV)后才能使得,但这并不符合大众的使用习惯,也很难说服并教会非开发团队成员使用Git,还不如使用在线文档来进行协作 。
先介绍一下服务器环境。本例中使用的是阿里云的ECS,Ubuntu 22.04 64位系统,由于不需要安装GitLab等其它工具或平台,所以要求的配置不高,猜测1核2G或1核1G(没试过)就够用。测试服务器安装了其它应用,配置是2核4G。其它系统个别命令可能稍有不同,但思路是一致的。系统自带Git。
|
|
如果你的服务器上没有Git,
1.执行以下命令
|
|
把系统中所有的软件包更新到最新
2.安装Git
|
|
-y表示在安装过程中自动接受所有的提示
3.安装后查看版本号
|
|
如出现版本号,如2.34.1,表示安装成功。
sameersbn docker-redmine镜像中自带了Git,不用处理。
环境配置好之后,在服务器上新建账号(如gituser),用于管理代码仓库。直接使用root也可以,但不建议这样做。因为要把团队成员的公钥配置到有权限操作仓库文件夹账号的authorized_keys文件里,如果这个账号是root,那么所有配置公钥的团队成员都能在服务器上用root权限操作,风险很大。
新建账号
|
|
执行这个命令后,系统会创建一个名为gituser的新用户,并在/home目录下为其创建一个主目录/home/gituser
设置gituser密码
|
|
输入自己的密码,新账户创建完成。
使用新账户,登录服务器,默认是在/home/gituser文件夹下,使用
|
|
返回到上一级目录,即/home目录下,创建要作为仓库存放代码的文件夹。如在home文件夹下新建repo文件夹
|
|
进入repo文件夹
|
|
创建裸仓库。
|
|
配置团队成员公钥,授权操作仓库,即授权后可以推、拉代码。
进入/home/gituser主目录,新建.ssh文件夹,设置权限
|
|
在.ssh下新建authorized_keys文件,设置权限
|
|
使用vim打开authorized_keys,配置团队成员公钥。
|
|
进入文件后,按i键,插入模式,每个公钥一行,粘贴后
|
|
保存,退出vim。
如不习惯使用命令行,也可以用其它可视化工作(如WinSCP)修改文件。
停止并删除Redmine容器
|
|
重新运行容器,把仓库文件夹挂为容器的卷,以使Redmine的版本库能连接到仓库。在之前运行容器的命令中加入以下代码
|
|
至此,服务器配置完毕。
在本地电脑上,通过上面配置的gituses账户和仓库地址,可以克隆远程仓库,进行Git操作。
接下来介绍Redmine中配置Git。
登录Redmine,进入想要配置Git的项目,在配置——版本库中,点击“新建版本库”。SCM选Git,标识随意填,库路径为上面新建的仓库路径/home/repo,点击创建。
刷新页面,再次打开版本库,应该能看到仓库内代码修订情况。如不能,请在评论区留言,我会第一时间回复。
团队成员在同步代码后,从Redmine的版本库中能查看修订情况,点击修订编号,通过“相关的问题”——“新增”,还能把本次修订与系统中的相关问题关联。
使用版本库的统计功能,可以查看团队成员代码操作数据。
以上方法,亲测可用。但并不一定是最优办法,欢迎批评指正。以上也只实现了最基本的Git功能,通过Redmine的相关插件,还有很多功能值得探索。