プロジェクト

全般

プロフィール

操作

Gitとの連携について

連携リポジトリ


初期設定手順

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登録

  1. clear-de-signアカウントでGitHubにログイン
  2. 「Settings」>「SSH and GPG Keys」に移動
  3. 「New SSH key」をクリック
  4. 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分ごとに実行):

  1. リモートリポジトリをfetch
  2. 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

参考リンク

廣瀬 僚一 さんが4ヶ月前に更新 · 2件の履歴