プロジェクト

全般

プロフィール

操作

Gitとの連携について » 履歴 » リビジョン 1

リビジョン 1/2 | 次 »
廣瀬 僚一, 2025/12/19 21:58


Gitとの連携について

連携リポジトリ

https://github.com/clear-de-sign/rgu

サーバー設定

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

SSHキーの登録

作成したSSHキーをGitに登録。
clear-de-sign アカウントでログインして、「Settings」>「SSH and GPG Keys」
「New SSH key」で、id_ed25519.pubの内容を登録

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でのリポジトリ設定(全体)

  • 「管理」>「設定」>「リポジトリ」
  • gitのコミットメッセージに記載するキーワードの設定
    以下のキーワードを、コミットタイトルもしくは、コミットメッセージに記入すると、redmineチケットとgitが紐づく。
    refsがついたコミットメッセージは、チケットステータスがフィードバックに変更される。
    fixesがついたコミットメッセージは、チケットステータスが解決に変更される。

コミット時に以下を入力する
タイトル:XXXの修正
メッセージ:refs #1234 ←RedmineチケットNo.

  • 参照用キーワード:refs,references
  • 修正用キーワード:
    • fixes,closes:マージコミット時に記入
    • refs:コミット時(確認時)に記入

Redmineでプロジェクトごとの設定

  • 「設定」>「リポジトリ」>「新しいリポジトリ」

gitユーザーとredmineユーザーの紐付け

  • 「設定」>「リポジトリ」>「ユーザー」

リポジトリの定期的な更新

ubuntuユーザーで実行

crontab -e

以下をcronに登録

  1. 5分おきに、リモートの全てのリポジトリをfetch
  2. /var/www/html/redmine に移動
  3. 変更履歴を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件の履歴