Redmine & git 連携に苦戦したので備忘録

gitのコミットでRedmineのチケットを操作できる環境を作成するのに、丸1日苦戦したので今後のためにも備忘録。

この記事の環境は下記のとおり。

OS : CentOS 6.9
Redmine: 3.3.3

もし同じようなことでお悩みの方で結論だけ見たい人は、ページ下部から見てください。

苦戦その1.Redmineのインストール

普段Redmine環境を構築する際に、bitnamiを利用しているのだけど最新のbitnami redmineがCentOS 6系にインストールができない!!

お恥ずかしい話、CentOS 7系の運用経験がなく7系は6系から比べて大きく変更がかかっているため、6系で環境を作れることがとても重要。

そんなわけで、old version を探すが・・・old versionは公開されていない?

bitnami の公式コミュニティサイトにWindows版のold versionのリンクがたまたま張られていたため、linux ようにURLを修正して取得。。。ふ~~よかった。。。

ちなみにURLはこれ。
bitnami-redmine-3.3.3-1-linux-x64-installer.run

苦戦その2.bareリポジトリ

これまたお恥ずかしい話、bareリポジトリっつうもんを知らずかなりはまった。

gitにはbareリポジトリとnon bareリポジトリの2種類があるらしく、Redmineと連携するgitリポジトリはbareリポジトリでないとだめらしい。

bareリポジトリについては下記が分かりやすい。
ベアリポジトリとノンベアリポジトリ:理論編〜GitでWordpressのテーマを管理

bareリポジトリ以外のリポジトリを指定してもエラーにならず「リポジトリに、エントリ/リビジョンが存在しません。」という分かりづらいエラーが表示されるだけという・・・

「bareリポジトリを指定してください」てきなエラーメッセージを出してくれたらここまではなまらんかったが、まぁしかたがない。

苦戦その3.gitlab.comとローカルbareリポジトリの連携

bareリポジトリの扱いに慣れていないため、git pull するのかと思いきやbareリポジトリではワーキングツリーがないためpullはエラーになるみたい。(ここでも軽くはまる)

下記が簡潔でわかりやすかった。
bareリポジトリから更新する方法

結論 すべては公式RedmineのWikiにあり!

結論を言うと、bareリポジトリ関連のことは下記公式のWikiにすべてが載っていた!しかも日本語で!!
Redmine公式Wiki:リポジトリ

やったこと

bareリポジトリの作成

mkdir -p /var/git/repos
cd /var/git/repos
# bareリポジトリとしてgitlabからクローン
git clone --bare https://gitlab.com/xxxxxxx/test.git

リポジトリをRedmineに登録

下記のような設定でリポジトリを作成。

新しいリポジトリの登録画面

新しいリポジトリ

fetchするcronの登録

今回はgitlab.com上から最新情報を取り続ける必要があるため、fetchするshellをcronに登録。

cd /var/git/repos/test.git
git fetch origin 'refs/heads/*:refs/heads/*'

# [リポジトリ]メニューを開かなくても各チケットが更新する
# @see http://redmine.jp/faq/repository/subversion/
cd /opt/redmine/apps/redmine/htdocs
PATH=/opt/redmine/perl/bin:/opt/redmine/git/bin:/opt/redmine/sqlite/bin:/opt/redmine/ruby/bin:/opt/redmine/subversion/bin:/opt/redmine/postgresql/bin:/opt/redmine/php/bin:/opt/redmine/mysql/bin:/opt/redmine/apache2/bin:/opt/redmine/common/bin:$PATH
bundle exec rake redmine:fetch_changesets RAILS_ENV=production

更新時に、401エラーがならないように下記設定を保存

path: ~/.netrc

machine gitlab.com 
login hgoe@example.com 
password fugahoge

完成!

できた!!

Redmineのインストール周りの苦戦を含めると9時間!休日なのにめっちゃ疲れた。。。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする