操作
Gitとの連携について¶
連携リポジトリ¶
- リポジトリURL: https://github.com/clear-de-sign/rgu
初期設定手順¶
1. SSHキーの作成と登録¶
1-1. SSHキーの作成¶
ubuntuユーザーで実行:
ssh-keygen -t ed25519 -C "redmine-server"
cat .ssh/id_ed25519
cat .ssh/id_ed25519.pub
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
1-2. SSHキーのGitHub登録¶
- clear-de-signアカウントでGitHubにログイン
- 「Settings」>「SSH and GPG Keys」に移動
- 「New SSH key」をクリック
-
id_ed25519.pubの内容を登録
2. Gitリポジトリの作成¶
mkdir -p /var/lib/redmine/git/
cd /var/lib/redmine/git
git clone --bare git@github.com:clear-de-sign/rgu.git
sudo chown -R ubuntu:www-data /var/lib/redmine/git/rgu.git
sudo chmod -R 755 /var/lib/redmine/git/rgu.git
Redmine設定¶
3. 全体設定(リポジトリ設定)¶
設定場所: 「管理」>「設定」>「リポジトリ」
3-1. コミットメッセージキーワード設定¶
コミットメッセージに特定のキーワードを記入すると、RedmineチケットとGitコミットが自動的に紐づきます。
設定内容:
-
参照用キーワード:
refs,references -
修正用キーワード:
-
fixes,closes- マージコミット時に使用 -
refs- コミット時(確認時)に使用
-
動作:
-
refsを含むコミットメッセージ → チケットステータスがフィードバックに変更 -
fixesを含むコミットメッセージ → チケットステータスが解決に変更
使用例:
タイトル:XXXの修正
メッセージ:refs #1234
※ #1234はRedmineチケット番号

4. プロジェクトごとの設定¶
4-1. リポジトリの登録¶
設定場所: 「設定」>「リポジトリ」>「新しいリポジトリ」

4-2. GitユーザーとRedmineユーザーの紐付け¶
設定場所: 「設定」>「リポジトリ」>「ユーザー」
リポジトリのログから検出されたユーザー名を、Redmineユーザーに関連付けます。

自動更新設定¶
5. リポジトリの定期更新(cron設定)¶
ubuntuユーザーで実行:
crontab -e
以下のcronジョブを登録(5分ごとに実行):
- リモートリポジトリをfetch
- Redmineの変更履歴をDBに取り込み
*/5 * * * * /bin/bash -lc 'echo "CRON START $(date)"; git --git-dir=/var/lib/redmine/git/rgu.git fetch --prune origin "+refs/heads/*:refs/heads/*" "+refs/tags/*:refs/tags/*"; cd /var/www/html/redmine && RAILS_ENV=production bundle exec rake redmine:fetch_changesets; echo "CRON EXIT=$? $(date)"' >> /var/log/redmine/fetch.log 2>&1