SlideShare a Scribd company logo
Redmine + GitLab 
マージベース開発プロセス 
株式会社アピリッツ 島田慶樹
2 自己紹介 
• RailsでのWebシステム開発6年くらい 
• Apache Cassandraの導入 
• 現在はScala Playframawork
プロジェクト概要 
3 
• Webサービスの新規開発(SI案件) 
• 開発メンバー 6名前後(Rails初心者含む) 
• 設計からC/Oまで数ヶ月
4 ツールまわり
5 Redmine 
• お客様参画プロジェクト 
• 課題管理(チケット) 
• ドキュメンテーション(wiki) 
• 開発者専用プロジェクト 
• タスク管理(チケット) 
• ドキュメンテーション(wiki)
6 GitLab 
• リポジトリホスティング 
• gitアクセス権限管理 
• マージリクエスト 
• ブランチ管理
7 Jenkins 
• 開発ルールとしてRSpec必須化 
• メインラインとマージリクエストの 
2プロジェクト
開発サイクル 
8 
1. 機能ごとにチケット起票 
2. 開発者にアサイン 
3. トピックブランチで開発 
4. リポジトリにプッシュしてマージリクエスト 
5. マージ担当者のピアレビュー、マージ
9 チケット駆動開発
10 ブランチ戦略 
topic 1 
develop 
master 
merge 
request! 
release!
11 マージリクエスト
12 マージリクエスト 
 
reviewee 
reviewer 
  
 
 
 
マジリク
マージリクエスト 
13 
メンバーの中から相手を1人選んで 
マージリクエストを投げる 
• 関連する機能を作ってる人 
• 内容について相談できる人
14 マジリクのルール 
業務で行う開発の場合、マージリクエストは 
! 
! 
では済まされない
15 OSSとの違い 
Pull Request 
コードオーナー 
コントリビューター 
LGTM! 
オミゴト!
16 マジリクのルール 
• マージリクエストは自分以外の開発者に 
アサインする 
• マージリクエストを依頼するチケットを 
作成する 
• チケットに、実装した機能を確認する手順を 
簡単に記述する
17 確認手順チケット
18 マジリクのルール 
• アサインされた開発者は下記の内容を確認し、 
問題がなければマージを実施する。問題があれば差し戻す 
• テストがついているか、Jenkinsで 
そのテストがパスしているか 
• 手順どおりに機能するか 
• コードのフォーマットや内容に不備がないか 
• メソッドの長さ、ネストの深さなど
評価
20 振り返り - keep 
• developブランチのコードを 
常に動作確認済みの状態に保つことができた 
• マジリクを分担することにより、 
他のメンバーのノウハウを吸収できた
振り返り - problem 
21 
• 不具合対応や微調整の時期になると、 
マジリクの作成・実施が重くなってきた 
• 一部のメンバーにマジリクの負担が 
集中した
22 振り返り - try 
• 開発のフェーズにあわせて 
マジリクの運用ルールを調節する 
• 開発者用プロジェクトをRedmineから 
GitLabのissue, wikiに移行 
※お客様参画プロジェクトはそのまま
23 まとめ 
• GitLabによるマジリクベースの開発で 
結合テストを開発プロセスに織り込む 
• RedmineとGitLabは機能がダブるので 
棲み分けに工夫が必要

More Related Content

PDF
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
PDF
楽しいGit外部公開用
PDF
Gitと出会って人生変わった テックヒルズ2013-03-22
PDF
バージョン管理システム比較資料
PDF
Git extensions ws外部公開用
PDF
(自分流)Gitの運用ルール
PDF
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
PDF
怖くないブランチ開発外部公開用
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
楽しいGit外部公開用
Gitと出会って人生変わった テックヒルズ2013-03-22
バージョン管理システム比較資料
Git extensions ws外部公開用
(自分流)Gitの運用ルール
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
怖くないブランチ開発外部公開用

What's hot (20)

PPTX
GitLabを16万8千光年ワープさせた話(改)
PPTX
Git & GitHub & kintone でウルトラハッピー!
PDF
Metahub for github
PPTX
GitとCIとかチャットとかをオンプレで運用する話
PDF
GitLab Prometheus
PDF
Git flowの活用事例
PDF
Git & ブランチモデルで学ぶ バージョン管理入門
PDF
Dockerの事例紹介
PPTX
Build insider offline session チームでのgit
PDF
GitHub + Circle CI で幸せになろう
PDF
パフォーマンス計測Ciサービスを作って得た知見を共有したい
PDF
GitLab/GitLab.com勉強会 第2回
PDF
GitHubで学ぶバージョン管理
PDF
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
PDF
【社内勉強会】弊社でGit!実案件での運用
KEY
一人でもはじめるGitでバージョン管理
PDF
tweleve-factor-app_and_enterprise
PDF
Amazon ECSとDevOps
PDF
WindowsでGitを使う際のベストプラクティス
GitLabを16万8千光年ワープさせた話(改)
Git & GitHub & kintone でウルトラハッピー!
Metahub for github
GitとCIとかチャットとかをオンプレで運用する話
GitLab Prometheus
Git flowの活用事例
Git & ブランチモデルで学ぶ バージョン管理入門
Dockerの事例紹介
Build insider offline session チームでのgit
GitHub + Circle CI で幸せになろう
パフォーマンス計測Ciサービスを作って得た知見を共有したい
GitLab/GitLab.com勉強会 第2回
GitHubで学ぶバージョン管理
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
【社内勉強会】弊社でGit!実案件での運用
一人でもはじめるGitでバージョン管理
tweleve-factor-app_and_enterprise
Amazon ECSとDevOps
WindowsでGitを使う際のベストプラクティス
Ad

Viewers also liked (16)

PDF
少人数チームにおけるプロジェクト管理のベストプラクティス
PDF
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
PDF
Redmine.tokyo 第7回勉強会 ディスカッション
PDF
Redmine.tokyo 07 open_discussion
PDF
Redmine 260 300_new_feature
PDF
Redmine.tokyo 07 questionnaire
PDF
Rbpdf gem library
PDF
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ
PPTX
講演1 Redmine導入のアンチパターン
PPTX
Redmine4時代のプラグイン開発 redmine.tokyo #13
PDF
灰かぶりチケットはシンデレラに成り得るか?
PDF
チケットの利用による経験を活かした開発の可能性
PDF
OpenAPI development with Python
PDF
怖くない? オープンソースへの貢献
PDF
Redmine tokyo #13 LT
PDF
20171117 redminetokyo13
少人数チームにおけるプロジェクト管理のベストプラクティス
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
Redmine.tokyo 第7回勉強会 ディスカッション
Redmine.tokyo 07 open_discussion
Redmine 260 300_new_feature
Redmine.tokyo 07 questionnaire
Rbpdf gem library
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ
講演1 Redmine導入のアンチパターン
Redmine4時代のプラグイン開発 redmine.tokyo #13
灰かぶりチケットはシンデレラに成り得るか?
チケットの利用による経験を活かした開発の可能性
OpenAPI development with Python
怖くない? オープンソースへの貢献
Redmine tokyo #13 LT
20171117 redminetokyo13
Ad

Similar to Redmine + gitlab: merge base development (20)

PDF
The Essence of Using Ruby on Rails in Corporations
PDF
本番環境で使える実行コード記録機能
PDF
クラウド運用のためのストリームマイニング
PDF
PythonによるWebスクレイピング入門
PDF
1_各Atlassian製品の紹介
PDF
Shimane2008
PDF
GraphQLはどんな時に使うか
PDF
Web技術勉強会 20100424
PDF
Web技術勉強会 20100424
PDF
CKAN日本語化班
PDF
Elasticsearch at Makuake
PDF
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
PDF
クラウドカンファレンスIn静岡 r cloud
PDF
JavaScript And Keywords
PPTX
アセットビルドパイプラインについて考えてみる
PDF
ネタじゃないScala.js
PDF
Rendr入門: サーバサイドで(も)動かす、Backbone.js
PDF
Scala が支える医療系ウェブサービス #jissenscala
PDF
Draft: Observability, Service Mesh and Microservices
PDF
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
The Essence of Using Ruby on Rails in Corporations
本番環境で使える実行コード記録機能
クラウド運用のためのストリームマイニング
PythonによるWebスクレイピング入門
1_各Atlassian製品の紹介
Shimane2008
GraphQLはどんな時に使うか
Web技術勉強会 20100424
Web技術勉強会 20100424
CKAN日本語化班
Elasticsearch at Makuake
高速処理と高信頼性を両立し、ペタバイト級の多種大量データを蓄積する、ビッグデータ/ IoT時代のデータベースとは??
クラウドカンファレンスIn静岡 r cloud
JavaScript And Keywords
アセットビルドパイプラインについて考えてみる
ネタじゃないScala.js
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Scala が支える医療系ウェブサービス #jissenscala
Draft: Observability, Service Mesh and Microservices
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima

Redmine + gitlab: merge base development

  • 1. Redmine + GitLab マージベース開発プロセス 株式会社アピリッツ 島田慶樹
  • 2. 2 自己紹介 • RailsでのWebシステム開発6年くらい • Apache Cassandraの導入 • 現在はScala Playframawork
  • 3. プロジェクト概要 3 • Webサービスの新規開発(SI案件) • 開発メンバー 6名前後(Rails初心者含む) • 設計からC/Oまで数ヶ月
  • 5. 5 Redmine • お客様参画プロジェクト • 課題管理(チケット) • ドキュメンテーション(wiki) • 開発者専用プロジェクト • タスク管理(チケット) • ドキュメンテーション(wiki)
  • 6. 6 GitLab • リポジトリホスティング • gitアクセス権限管理 • マージリクエスト • ブランチ管理
  • 7. 7 Jenkins • 開発ルールとしてRSpec必須化 • メインラインとマージリクエストの 2プロジェクト
  • 8. 開発サイクル 8 1. 機能ごとにチケット起票 2. 開発者にアサイン 3. トピックブランチで開発 4. リポジトリにプッシュしてマージリクエスト 5. マージ担当者のピアレビュー、マージ
  • 10. 10 ブランチ戦略 topic 1 develop master merge request! release!
  • 12. 12 マージリクエスト  reviewee reviewer      マジリク
  • 13. マージリクエスト 13 メンバーの中から相手を1人選んで マージリクエストを投げる • 関連する機能を作ってる人 • 内容について相談できる人
  • 15. 15 OSSとの違い Pull Request コードオーナー コントリビューター LGTM! オミゴト!
  • 16. 16 マジリクのルール • マージリクエストは自分以外の開発者に アサインする • マージリクエストを依頼するチケットを 作成する • チケットに、実装した機能を確認する手順を 簡単に記述する
  • 18. 18 マジリクのルール • アサインされた開発者は下記の内容を確認し、 問題がなければマージを実施する。問題があれば差し戻す • テストがついているか、Jenkinsで そのテストがパスしているか • 手順どおりに機能するか • コードのフォーマットや内容に不備がないか • メソッドの長さ、ネストの深さなど
  • 20. 20 振り返り - keep • developブランチのコードを 常に動作確認済みの状態に保つことができた • マジリクを分担することにより、 他のメンバーのノウハウを吸収できた
  • 21. 振り返り - problem 21 • 不具合対応や微調整の時期になると、 マジリクの作成・実施が重くなってきた • 一部のメンバーにマジリクの負担が 集中した
  • 22. 22 振り返り - try • 開発のフェーズにあわせて マジリクの運用ルールを調節する • 開発者用プロジェクトをRedmineから GitLabのissue, wikiに移行 ※お客様参画プロジェクトはそのまま
  • 23. 23 まとめ • GitLabによるマジリクベースの開発で 結合テストを開発プロセスに織り込む • RedmineとGitLabは機能がダブるので 棲み分けに工夫が必要