Redmine 安裝、配置版本庫,集成GitLab

本文系統環境:CentOS Linux release 7.3.1611 (Core)
 
參考:
 
 
1.官網安裝方法(較繁瑣):
2.bitnami-redmine 一鍵安裝:
下載地址: https://bitnami.com/stack/redmine/installer (下載速度較慢)
 
1、Redmine 安裝
本文采用bitnami-redmine一鍵安裝 ,bitnami-redmine-3.4.6-3-linux-x64-installer.run 爲例
 
1.安裝依賴:
yum install -y perl-Data-Dumper
不然會出現以下:
2.安裝bitnami-redmine
[root @localhost ~]# ll
總用量 182656
-rw-------. 1 root root 2242 3月 23 2018 anaconda-ks.cfg
-rwxr--r--. 1 root root 187029393 10月 18 11:33 bitnami-redmine-3.4.6-3-linux-x64-installer.run
-rw-r--r--. 1 root root 2290 3月 23 2018 initial-setup-ks.cfg
[root @localhost ~]# chmod +x bitnami-redmine-3.4.6-3-linux-x64-installer.run
[root @localhost ~]# ./bitnami-redmine-3.4.6-3-linux-x64-installer.run

 

根據圖形化界面提示進行安裝:

安裝過程根據界面進行設置,在此省略html

最後安裝完成以下java

至此,安裝完成
 
3.配置開機啓動
[root@localhost ~]# cp -piv /opt/redmine-3.4.6-3/ctlscript.sh /etc/rc.d/init.d/bitnami-redmin
[root@localhost init.d]# cd /etc/rc.d/init.d/
[root@localhost init.d]# vim ./bitnami-redmin

在#!/bin/sh下面添加:
# chkconfig:2345 80 30
# description: BitNami Service
保存退出

[root@localhost init.d]# chkconfig --add ./bitnami-redmin 
[root@localhost init.d]# chkconfig --list
注意:該輸出結果只顯示 SysV 服務,並不包含原生 systemd 服務。SysV 配置數據可能被原生 systemd 配置覆蓋。
若是您想列出 systemd 服務,請執行 'systemctl list-unit-files'。
欲查看對特定 target 啓用的服務請執行
'systemctl list-dependencies [target]'。
 
bitnami-redmin 0:關 1:關 2:開 3:開 4:開 5:開 6:關
netconsole 0:關 1:關 2:關 3:關 4:關 5:關 6:關
network 0:關 1:關 2:開 3:開 4:開 5:開 6:關
 
至此完成自啓動配置。

 

管理命令:
[root@localhost init.d]# /opt/redmine-3.4.6-3/ctlscript.sh --help
usage: /opt/redmine-3.4.6-3/ctlscript.sh help
       /opt/redmine-3.4.6-3/ctlscript.sh (start|stop|restart|status)
       /opt/redmine-3.4.6-3/ctlscript.sh (start|stop|restart|status) mysql
       /opt/redmine-3.4.6-3/ctlscript.sh (start|stop|restart|status) apache
       /opt/redmine-3.4.6-3/ctlscript.sh (start|stop|restart|status) subversion

help       - this screen
start      - start the service(s)
stop       - stop  the service(s)
restart    - restart or start the service(s)
status     - show the status of the service(s)
 
2、啓用版本庫
 
管理帳號登錄:

  1. 啓用SCM:本地只安裝了git,因此其餘的取消掉
  2. 啓用用於版本庫管理的Web Service:須要勾選,實現gitlab的web_hook訪問
  3. 版本庫管理網頁服務API密鑰:點擊生成或者手動輸入,記錄一下後面配置gitlab須要用到
  4. 容許引用/修復全部其餘項目的問題:勾選後就能夠在commit message中使用上一項定義的關鍵字實現git提交和redmine issue的關聯,如 refs:#123 表示將本次提交關聯到redmine的123號任務
  5. 激活時間日誌:勾選後能夠在commit message中設置當前提交耗時記錄,方式爲 Implement feature #1234 @2h 或者 Implement feature #1234 @15m
  6. 最下面一個設置框中就是自定義關鍵字,實現commit message控制remine中的issue的狀態,好比我這裏預設了解決、進行中和關閉三個,在commit message中的用法爲: ok:#123 或 start #123 或 close:#123 @2 ,這最後一個實例還把時間也帶上了。

 

3、克隆代碼版本庫

 

1. 建立代碼庫目錄,設置用戶和用戶組
[root@localhost ~]# mkdir /git-repo
[root@localhost ~]# chown daemon:daemon /git-repo
2.給daemon用戶生成ssh key
[root@localhost ~]# mkdir /usr/sbin/.ssh
[root@localhost ~]# chown daemon:daemon /usr/sbin/.ssh
[root@localhost ~]# sudo -u daemon -H ssh-keygen -t rsa
[root@localhost ~]# cd /usr/sbin/.ssh
[root@localhost .ssh]# ll
總用量 8
-rw-------. 1 daemon daemon 1675 10月 18 13:37 id_rsa
-rw-r--r--. 1 daemon daemon  410 10月 18 13:37 id_rsa.pub
3.將上一步生成的文件/usr/sbin/.ssh/id_rsa.pub的內容添加到本身gitlab的SSH Keys中,以便無密碼獲取代碼庫
4.克隆代碼版本庫
[root@localhost ~]# cd /git-repo
[root@localhost git-repo]# sudo -u daemon -H git clone --mirror git@192.168.230.184:root/Test.git Test
克隆到裸版本庫 'Test'...
The authenticity of host '192.168.230.184 (192.168.230.184)' can't be established.
ECDSA key fingerprint is a7:ab:c0:dd:71:14:90:dc:36:4f:34:f5:6a:78:f2:f8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.230.184' (ECDSA) to the list of known hosts.
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 9 (delta 0), reused 0 (delta 0)
接收對象中: 100% (9/9), done.
4、項目啓用版本庫
一、建立測試項目

(1)、SCM:選擇git,在 2.1的設置 中只勾選了git
(2)、主版本庫:若是勾選了這個在項目的導航條上就會新增一個tab—版本庫,不勾選,就須要經過 配置—版本庫 查看
(3)、標識:是版本庫的一個名字
(4)、庫路徑:就是前面執行git clone生成的目錄的路徑,注意:redmine須要有該目錄的讀寫權限,不然點擊版本庫會出現404錯誤
(5)、路徑編碼:優選UTF-8
(6)、報告最後一次文件/目錄提交:建議勾選,選上後打開版本庫會看到相關文件最後一次提交的相關信息如做者、commit message等

5、啓用自動更新版本庫

 

一、使用 cron 設置定時任務方法
[root@localhost Test]# crontab -l
*/1 * * * * cd /git-repo/Test && sudo -u daemon -H git remote update
二、使用 redmine_gitlab_hook 插件方法
(1)、安裝插件
[root@localhost ~]# cd /opt/redmine-3.4.6-3/apps/redmine/htdocs/plugins
[root@localhost plugins]# sudo -u daemon -H git clone https://github.com/phlegx/redmine_gitlab_hook.git
[root@localhost plugins]# /opt/redmine-3.4.6-3/use_redmine #進入到特定的bash環境下
bash-4.2# cd ..
bash-4.2# pwd
/opt/redmine-3.4.6-3/apps/redmine/htdocs
bash-4.2# gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
bash-4.2# yum install gcc libxslt-devel libxml2-devel -y
bash-4.2# bundle install --without development test --no-deployment #可能會安裝依賴,較耗時
bash-4.2# bundle exec rake redmine:plugins RAILS_ENV=production
bash-4.2# /opt/redmine-3.4.6-3/ctlscript.sh restart
bash-4.2# exit #退出bash
(2)、插件配置

(2)、GitLab配置
 

 

URL 的格式爲:
{redmine_installation_url}/gitlab_hook?key={redmine_repository_API_key}&project_id={redmine_project_identifier}&repository_name={redmine_repository_identifier}
 
URL:
說明: testproject 爲項目標識,test 爲版本庫標識
 
若是報錯:

大體意思 gitlab 10.6 版本之後爲了安全,不容許向本地網絡發送webhook請求,若是想向本地網絡發送webhook請求,可進入Admin area,在Admin area中,在settings標籤下面,找到OutBound Request,勾選上Allow requests to the local network from hooks and services ,保存更改便可解決問題。
相關文章
相關標籤/搜索