前回の続きせっかくRedmineとGitをインストールしたので、お互いを連携させたい。注意したいのだけれどRedmineとGitの連携は以下の2種類が存在する。RedmineからGitのリポジトリ内容が確認できるようにするGitのコミット&内容をRedmineのチケットに連動させるま、どっちもやっておこう。RedmineからGitのリポジトリ内容が確認できるようにするRedmineには元々GitやSVN等のバージョン管理ソフトとの連携機能がある。(プラグインは不要)ただし、そのためにはRedmineのインストールされているサーバ上にbareリポジトリが必要。ここでは、Redmine練習用のプロジェクト「prj-practice」とGit練習用のリポジトリ「repo-practice」を連携させる。Redmineの実行ユーザがssh経由でGitoliteにアクセスできるようにするRedmineの実行ユーザ(このサイトではwork_user)がsshでGitにアクセスできるよう、~/.ssh/configファイルを作成する。※ユーザー作成時に作成した、~/.sshディレクトリとwork_user.pemが存在するものとする。22作成したconfigファイルのパーミッションを600にしておく。Redmine用のローカルリポジトリの作成Redmineからアクセス可能なリポジトリを作成するため、Redmineの実行ユーザで、ディレクトリを作成する。repositoriesredmineからアクセスできるbareリポジトリを作成する。「ファイルとディレクトリの最新コミットを表示する」チェックをON作成ボタンをクリックこの状態で「リポジトリ」タブを確認すると、最初にコミット&プッシュされた状態が確認できる。このままだとリポジトリが更新されても、Redmine用のリポジトリに同期されない。自動的に同期するにはもうひと手間かけてやる必要がある。Gitolite実行ユーザのsudo設定Redmine用のリポジトリの同期(fetch)はRedmineの実行ユーザで行う必要がある。リポジトリの更新を検出できるのはGitoliteの実行ユーザ。そこで、Gitolite実行ユーザからsudoでRedmine用のリポジトリを同期できるように設定する。/usr/bin/gitフックスクリプトの作成リポジトリが更新されたことを検出するために、フックスクリプトを作成する。フックスクリプトはGitoliteのリポジトリに作成する必要があるため、Gitoliteの実行ユーザで作業する。origin作成したフックスクリプトに実行権限を付与。~/repositories/repo-practice.git/hooks/post-receive以上で、RedmineとGit(Gitolite)の連携設定は完了。後は、リポジトリにコミット&プッシュして、変更が反映されているかを確認すればOK。Gitのコミット&プッシュ内容をRedmineのチケットに連動させる続いて、Gitのコミット&プッシュ時にチケットと連動させる方法。保存ボタンをクリックこれだけでも問題ないが、これだとリポジトリ画面を開くまでチケットと連動しない。そこで、post-receiveファイルに以下の処理を追記する。自動で#999のチケットに連動する。タスク管理にRedmineを、ソース管理にGitを使いたかった点。開発環境この投稿へのコメントコメントはありません。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。この投稿へのトラックバックトラックバックはありません。