プロジェクト

全般

プロフィール

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
![](clipboard-202512192135-1y6cp.png)
44
45
### Redmineでプロジェクトごとの設定
46
- 「設定」>「リポジトリ」>「新しいリポジトリ」
47
![](clipboard-202512192132-bxhcm.png)
48
49
#### gitユーザーとredmineユーザーの紐付け
50
- 「設定」>「リポジトリ」>「ユーザー」
51
![](clipboard-202512192145-6rsh6.png)
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)