Gitとの連携について » 履歴 » バージョン 1
廣瀬 僚一, 2025/12/19 21:58
| 1 | 1 | 廣瀬 僚一 | # Gitとの連携について |
|---|---|---|---|
| 2 | ## 連携リポジトリ |
||
| 3 | https://github.com/clear-de-sign/rgu |
||
| 4 | |||
| 5 | ## サーバー設定 |
||
| 6 | ### SSHキーの作成 |
||
| 7 | ubuntuユーザーで実行 |
||
| 8 | ```bash |
||
| 9 | ssh-keygen -t ed25519 -C "redmine-server" |
||
| 10 | cat .ssh/id_ed25519 |
||
| 11 | cat .ssh/id_ed25519.pub |
||
| 12 | chmod 600 ~/.ssh/id_ed25519 |
||
| 13 | chmod 644 ~/.ssh/id_ed25519.pub |
||
| 14 | ``` |
||
| 15 | ### SSHキーの登録 |
||
| 16 | 作成したSSHキーをGitに登録。 |
||
| 17 | clear-de-sign アカウントでログインして、「Settings」>「SSH and GPG Keys」 |
||
| 18 | 「New SSH key」で、id_ed25519.pubの内容を登録 |
||
| 19 | |||
| 20 | ### gitリポジトリの作成 |
||
| 21 | ```bash |
||
| 22 | mkdir -p /var/lib/redmine/git/ |
||
| 23 | cd /var/lib/redmine/git |
||
| 24 | git clone --bare git@github.com:clear-de-sign/rgu.git |
||
| 25 | sudo chown -R ubuntu:www-data /var/lib/redmine/git/rgu.git |
||
| 26 | sudo chmod -R 755 /var/lib/redmine/git/rgu.git |
||
| 27 | ``` |
||
| 28 | |||
| 29 | ### Redmineでのリポジトリ設定(全体) |
||
| 30 | - 「管理」>「設定」>「リポジトリ」 |
||
| 31 | - gitのコミットメッセージに記載するキーワードの設定 |
||
| 32 | 以下のキーワードを、コミットタイトルもしくは、コミットメッセージに記入すると、redmineチケットとgitが紐づく。 |
||
| 33 | refsがついたコミットメッセージは、チケットステータスが**フィードバック**に変更される。 |
||
| 34 | fixesがついたコミットメッセージは、チケットステータスが**解決**に変更される。 |
||
| 35 | > コミット時に以下を入力する |
||
| 36 | > タイトル:XXXの修正 |
||
| 37 | > メッセージ:refs #1234 ←RedmineチケットNo. |
||
| 38 | - 参照用キーワード:refs,references |
||
| 39 | - 修正用キーワード: |
||
| 40 | - fixes,closes:マージコミット時に記入 |
||
| 41 | - refs:コミット時(確認時)に記入 |
||
| 42 | |||
| 43 |  |
||
| 44 | |||
| 45 | ### Redmineでプロジェクトごとの設定 |
||
| 46 | - 「設定」>「リポジトリ」>「新しいリポジトリ」 |
||
| 47 |  |
||
| 48 | |||
| 49 | #### gitユーザーとredmineユーザーの紐付け |
||
| 50 | - 「設定」>「リポジトリ」>「ユーザー」 |
||
| 51 |  |
||
| 52 | |||
| 53 | ### リポジトリの定期的な更新 |
||
| 54 | ubuntuユーザーで実行 |
||
| 55 | ```bash |
||
| 56 | crontab -e |
||
| 57 | ``` |
||
| 58 | 以下をcronに登録 |
||
| 59 | 1. 5分おきに、リモートの全てのリポジトリをfetch |
||
| 60 | 2. /var/www/html/redmine に移動 |
||
| 61 | 3. 変更履歴をredmine DBに取り込み |
||
| 62 | ```bash |
||
| 63 | */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 |
||
| 64 | ``` |
||
| 65 | |||
| 66 | ## その他の設定 |
||
| 67 | サーバーの設定を変更しているので以下を参照のこと |
||
| 68 | [[サーバー変更]](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) |