Gitとの連携について » 履歴 » バージョン 2
廣瀬 僚一, 2025/12/19 22:03
| 1 | 1 | 廣瀬 僚一 | # Gitとの連携について |
|---|---|---|---|
| 2 | 2 | 廣瀬 僚一 | |
| 3 | 1 | 廣瀬 僚一 | ## 連携リポジトリ |
| 4 | 2 | 廣瀬 僚一 | - **リポジトリURL**: https://github.com/clear-de-sign/rgu |
| 5 | 1 | 廣瀬 僚一 | |
| 6 | 2 | 廣瀬 僚一 | --- |
| 7 | |||
| 8 | ## 初期設定手順 |
||
| 9 | |||
| 10 | ### 1. SSHキーの作成と登録 |
||
| 11 | |||
| 12 | #### 1-1. SSHキーの作成 |
||
| 13 | ubuntuユーザーで実行: |
||
| 14 | 1 | 廣瀬 僚一 | ```bash |
| 15 | ssh-keygen -t ed25519 -C "redmine-server" |
||
| 16 | cat .ssh/id_ed25519 |
||
| 17 | cat .ssh/id_ed25519.pub |
||
| 18 | chmod 600 ~/.ssh/id_ed25519 |
||
| 19 | chmod 644 ~/.ssh/id_ed25519.pub |
||
| 20 | ``` |
||
| 21 | |||
| 22 | 2 | 廣瀬 僚一 | #### 1-2. SSHキーのGitHub登録 |
| 23 | 1. clear-de-signアカウントでGitHubにログイン |
||
| 24 | 2. 「Settings」>「SSH and GPG Keys」に移動 |
||
| 25 | 3. 「New SSH key」をクリック |
||
| 26 | 4. `id_ed25519.pub`の内容を登録 |
||
| 27 | |||
| 28 | ### 2. Gitリポジトリの作成 |
||
| 29 | 1 | 廣瀬 僚一 | ```bash |
| 30 | mkdir -p /var/lib/redmine/git/ |
||
| 31 | cd /var/lib/redmine/git |
||
| 32 | git clone --bare git@github.com:clear-de-sign/rgu.git |
||
| 33 | sudo chown -R ubuntu:www-data /var/lib/redmine/git/rgu.git |
||
| 34 | sudo chmod -R 755 /var/lib/redmine/git/rgu.git |
||
| 35 | ``` |
||
| 36 | |||
| 37 | 2 | 廣瀬 僚一 | --- |
| 38 | 1 | 廣瀬 僚一 | |
| 39 | 2 | 廣瀬 僚一 | ## Redmine設定 |
| 40 | |||
| 41 | ### 3. 全体設定(リポジトリ設定) |
||
| 42 | |||
| 43 | **設定場所**: 「管理」>「設定」>「リポジトリ」 |
||
| 44 | |||
| 45 | #### 3-1. コミットメッセージキーワード設定 |
||
| 46 | |||
| 47 | コミットメッセージに特定のキーワードを記入すると、RedmineチケットとGitコミットが自動的に紐づきます。 |
||
| 48 | |||
| 49 | **設定内容**: |
||
| 50 | - **参照用キーワード**: `refs,references` |
||
| 51 | - **修正用キーワード**: |
||
| 52 | - `fixes,closes` - マージコミット時に使用 |
||
| 53 | - `refs` - コミット時(確認時)に使用 |
||
| 54 | |||
| 55 | **動作**: |
||
| 56 | - `refs`を含むコミットメッセージ → チケットステータスが**フィードバック**に変更 |
||
| 57 | - `fixes`を含むコミットメッセージ → チケットステータスが**解決**に変更 |
||
| 58 | |||
| 59 | **使用例**: |
||
| 60 | ```text |
||
| 61 | タイトル:XXXの修正 |
||
| 62 | メッセージ:refs #1234 |
||
| 63 | ``` |
||
| 64 | ※ `#1234`はRedmineチケット番号 |
||
| 65 | |||
| 66 | 1 | 廣瀬 僚一 |  |
| 67 | |||
| 68 | 2 | 廣瀬 僚一 | ### 4. プロジェクトごとの設定 |
| 69 | |||
| 70 | #### 4-1. リポジトリの登録 |
||
| 71 | **設定場所**: 「設定」>「リポジトリ」>「新しいリポジトリ」 |
||
| 72 | |||
| 73 | 1 | 廣瀬 僚一 |  |
| 74 | |||
| 75 | 2 | 廣瀬 僚一 | #### 4-2. GitユーザーとRedmineユーザーの紐付け |
| 76 | **設定場所**: 「設定」>「リポジトリ」>「ユーザー」 |
||
| 77 | |||
| 78 | リポジトリのログから検出されたユーザー名を、Redmineユーザーに関連付けます。 |
||
| 79 | |||
| 80 | 1 | 廣瀬 僚一 |  |
| 81 | |||
| 82 | 2 | 廣瀬 僚一 | --- |
| 83 | |||
| 84 | ## 自動更新設定 |
||
| 85 | |||
| 86 | ### 5. リポジトリの定期更新(cron設定) |
||
| 87 | |||
| 88 | ubuntuユーザーで実行: |
||
| 89 | 1 | 廣瀬 僚一 | ```bash |
| 90 | crontab -e |
||
| 91 | ``` |
||
| 92 | 2 | 廣瀬 僚一 | |
| 93 | 以下のcronジョブを登録(5分ごとに実行): |
||
| 94 | 1. リモートリポジトリをfetch |
||
| 95 | 2. Redmineの変更履歴をDBに取り込み |
||
| 96 | |||
| 97 | 1 | 廣瀬 僚一 | ```bash |
| 98 | */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 |
||
| 99 | ``` |
||
| 100 | |||
| 101 | 2 | 廣瀬 僚一 | --- |
| 102 | |||
| 103 | ## 参考リンク |
||
| 104 | |||
| 105 | - [[サーバー変更]](https://redmine.clear-design.jp/projects/redmine/wiki/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E8%A8%AD%E5%AE%9A%E5%A4%89%E6%9B%B4) |