Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Redmineとgitの 連携利用事例

815 views

Published on

2018年5月26日(土) redmine.tokyo 第14回勉強会
Git連携 パネルディスカッション 事例紹介資料

Published in: Technology
  • Be the first to comment

Redmineとgitの 連携利用事例

  1. 1. RedmineとGitLabの 連携利用 redmine.tokyo 第14回勉強会 パネルディスカッション 事例紹介資料 2018年5月26日 @tKusukawa 1
  2. 2. 自己紹介:@tKusukawa くすかわと申します。redmine.tokyoのスタッフです。 Redmineプラグイン:WorkTime、WikiListsなどを作って 公開しています。(最近メンテできておらず すみません) 仕事:システム部門長→ 課題管理、管理台帳、業務記録など、 業務の多くの場面でRedmineに大変お世話になっています。 自分たちのGit連携のやり方をお話します。気になったことを話のネタにして頂いて、 より良い方法のヒントが得られれば幸いです。(是非ツイート/メモして下さい #redmineT ) およそ月80チケット、週2〜3回本番反映している開発運用の事例のお話です。 22
  3. 3. 構成と運用 GitLabはHubリポジトリとしてのみ利用していてIssueなどの機能は使っていません。 ← 非エンジニアを含め元々Redmineを利用していて、情報連携させたい為。 3 GitLab originリポジトリ 開発者PC開発者PC 検証環境 ブランチ: stg 本番環境 ブランチ: production pull /push pull Redmine チケットシステム リポジトリ閲覧ツールプログラマ以外に Gitを使わせるのは かなりしんどいが、 RedmineならURLで 参照してもらえる。 pull / reset (切り戻し) バージョン管理は言うまでもなく 超重要 ソフト開発の三種の神器
  4. 4. システム的な接続方法 Redmineサーバプログラムから GitLabのbareリポジトリのディレクトリを 直接参照できるようにしています。 Host Linux /srv/docker/gitlab/gitlab Docker GitLab /home/git/data Docker Redmine /home/redmine/gitlab 4 マウント マウント
  5. 5. Redmine管理者 設定画面 0. 「使用するバージョン管理システム」の「 Git」にチェック 1. 「参照用キーワード」に「 *」を設定→ refsやfixesを書かなくても #nnn だけでリンクになる   (#nnnの前後に文字があるとチケット Noと認識されないので注意。全角スペースは NG。) 2. 「異なるプロジェクトのチケットの参照/修正を許可」にチェック 1.管理 2.設定 7.保存 5 3.リポジトリ 4.Git 5.参照用キーワード「*」 6.別プロジェクトもリンク
  6. 6. リポジトリ参照設定 Redmineのプロジェクト「設定」タブ→「リポジトリ」でパスを設定します。 リポジトリパス:      /home/redmine/gitlab/repositories/<gitlab-user>/<gitlab-pj>.git 6 前提:モジュールで リポジトリにチェック
  7. 7. コミットコメントでチケットとの相互リンク コミットコメントにチケット番号があると 「関連するチケット」に自動で登録されて相互リ ンクができる ← 後から手動で相互リンクを 追加/削除   することも出来ます 7
  8. 8. リポジトリ閲覧ツール ∈ Redmine <修正差分表示> そのコミットでの全ての差分を ブラウザ内検索できたりして便利 8 <アノテート> その行を最後に更新したコミットを 追跡できて便利
  9. 9. チケットとコミットの相互リンクの意義 チケット: どうしたくて(経緯)、どうなった(結果) Gitコミット: いつ、だれが、どこを、なにから、なにに →変えた こうしておかないと「プログラムの意図」が解らなくなる 9 ここがつながる(多対多)
  10. 10. 開発運用サイクル(チケット=開発ブランチ) 10 チケット起票 チケットクローズ 開発ブランチ作成 開発ブランチ削除 コーディング / コミット master 13773 stg production 検証 Ver付与 / 本番デプロイ X X ブランチ戦略 13734 マージ/テスト 本番デプロイ 平均 一日4チケット =月80チケット を本番リリース
  11. 11. 開発運用サイクル(マージとデプロイ) 11 GitLab originリポジトリ 開発者PC開発者PC 検証環境 ブランチ: stg 本番環境 ブランチ: production pull /push pull pull / reset (切り戻し) Redmine チケットシステム リポジトリ閲覧ツール チケット起票 チケットクローズ 開発ブランチ作成 開発ブランチ削除 マージ
  12. 12. まとめ 自分たちのGit連携のやり方を お話させて頂きました。 (話のネタをツイート/メモして頂けましたでしょうかw) Redmineのチケット(どうしたくて、どうなった)と Gitのコミット(いつ、だれが、どこを、なにから、なにに 変えた)を 相互に関連付けて確認・記録しています。 チケット起票 → ブランチ作成/コミットと マージ /リリース → チケットクローズ のサイクルを月80チケットペースで運用してるお話でした♪ 12

×