SlideShare a Scribd company logo
第4回shinagawa.redmine勉強会

RedmineとGitとスクラム
                おかもとたかし
アジェンダ
 RedmineでGitを運用するコツ
 ALMiniumによるスクラムの運用
Gitの特徴
 分散型
 やり直せるマージ、コミット
 オフラインでもok
 Subversionを共有リポジトリとして利用可能
 リベースによるブランチの更新
 高速
 GitHub
やり直せるマージ・コミット
$ svn update

 コンフリクトが発生するとコードがぐちゃぐち
  ゃに
 もう一度update前に戻したいけど時すでに遅
  し
updateの前にはフォルダのバックアップを取る
運用orz
Gitなら
pull/mergeなどでぐちゃぐちゃになっても

$ git reset --hard HEAD

で元に戻せる!!pullの場合は、

$ git merge FETCH_HEAD

でマージをやり直すことができる
オフラインでもコミット可能
 出張先で
 ちょっとカフェで休憩しながら
 通勤電車の中で
 回線状態が悪い海外との開発
 トイレでもok(ex. 下痢気味のときなど)
Google Trends
 Subversion/Mercurialに比べるとGitが頭一
  つユーザが多い
 ドキュメント・情報も多い
RedmineのGit対応
 リポジトリビューの対応
 コミットキーワードとチケットの対応付け
 ブランチのグラフィカルな表示
 Redmineとの認証の統合
    (2.1~。2.0まではpatchが必要#4905)
HTTPの利用によるGitアクセス
 HTTP(S)が通れば何処でもアクセス可能
 Redmineのアカウントと統合可能
 プロジェクトの設定でリポジトリの
  Read/Writeの設定が可能
    ロール     Read      Write(push)
    管理者     ○         ○
    開発者     ○         ○             ロールを作成する場合:
                                     Read: リポジトリの閲覧
    報告者     ○         ×              Write: コミットの閲覧
    匿名ユーザ   ○(公開プロ    ×
            ジェクトのみ)
RedmineのGitの設定
SetEnv GIT_PROJECT_ROOT /var/opt/alminium/git
SetEnv GIT_HTTP_EXPORT_ALL                                   httpd.conf
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/

<LocationMatch /git/>
  PerlAccessHandler Apache::Authn::Redmine::access_handler
  PerlAuthenHandler Apache::Authn::Redmine::authen_handler
  AuthType Basic
  AuthName Git

# for Redmine Authentication
   RedmineDSN "DBI:mysql:database=alminium;host=localhost"
   RedmineDbUser "alminium"
   RedmineDbPass "alminium"
   RedmineGitSmartHttp yes

  Require valid-user
</LocationMatch>
リポジトリの名前規約
 プロジェクト名: hoge
 リポジトリのフォルダ名:
     hoge
     hoge.server
     hoge.client
     hoge.doc
REDMINE+GIT運用のコツ
共有リポジトリの作成
$ git init –-bare --share
■HTTPを利用する場合
$ git update-server-info
$ mv .git/hooks/post-update.sample
       .git/hooks/post-update
※ロックを行うためのファイル管理
$ chown apache.apache –R .
 (RHEL系OSの倍)
段階的に導入する
   ちょっと使い難いSubversion
       ブランチを活用せずに導入
       設定やプッシュ、プル、マージに慣れる
       中央リポジトリはSubversionでもok
   ちょっと便利なSubversion
       git resetで間違えたコミットを編集(プッシュ前)
       フェッチ・リベース・マージで綺麗な履歴
   ブランチを活用
       単なるブランチとして活用(マージのみ利用)
       リベースを利用した高度な運用
Redmine+Git運用のコツ

リベースで綺麗な履歴を作る
リベースなしの場合


        pull/fetch      push




          pull/fetch


                         push
pullからpushの間に他のコミットが挟まれるとブランチのマージになる
リベースなしの場合




pullからpushの間に他のコミットが挟まれるとブランチのマージになる
pull/pushを繰り返すと…




           マージだらけに…
リベースで綺麗な履歴


         push
リベースで綺麗な履歴
このままpushすると




                         push


pullからpushの間に他のコミットが挟まれるとブランチのマージになる
リベースする
リベースした
         $ git fetch
         $ git rebase FETCH_HEAD master




             fetch/rebase
プッシュ




       push
履歴が直線!!




   綺麗なコミット履歴ができる
Redmine+Git運用のコツ

その他雑多なコツ
git push –fはやってはダメ
git push –f は使用すべからず
  コミットの消失やリポジトリの不整合が発生



            ×4


                     ここから先は
                     パラレルワールド
削除したコミットを共有リポジトリ
へ反映させない(push –fの禁止)
サーバ上のリポジトリディレクトリで実行
$ git config –-bool receive.denyNonFastforwards
  true

(git init時に—shareオプションをつけても設定される)
ブランチ・タグの削除禁止
サーバ上のリポジトリディレクトリで実行
$ git config –-bool receive.denyDeletes true
Web画面からのリポジトリ作成
SCM Creatorプラグイン
                   リポジトリ名
ブランチとチケットの関連付け
       Redmine Git Branch Hook
        #xxxが含まれるブランチを関連するチケットに関連付け
                  ブランチを
                                 #23
                  チケットに対応付け
                                 生徒会は投
                                 稿に返信で
                                 きる




             1‘    2’       3’           story/#23
                                            指定したブランチへ
                                            のマージで自動的に
                                            クローズ
    1        2     3    4        5       master
Redmine Git Branch Hook
 ブランチにコミットすると、自動的にコミットメ
  ッセージをチケットに追加
 Gitクライアントへのインストールは不要
  (Redmine側で関連付けを実行)
 指定したブランチ(ex.master, releaseなど)
  へマージすると自動的にチケットをクローズ
 (GitHubのプルリクエスト相当の機能を実現)
トラブルシューティング
   GitのURLにアクセスして何も表示されなく
    てもうろたえない
    http://redminehost/git/xxxx


   リポジトリビューワにアクセスしてエラーが
    出たら何かコミットしろ
pull/fetchでおかしくなったら
リセットでマージ前に戻して再マージ
$ git reset –-hard
$ git merge FETCH_HEAD
ALMINIUMの紹介
ALMiniumの紹介
 ALM+Redmineの合金=ALMinium
 Git/Backlogsなど含め簡単インストール
 Selenium/Titaniumに続くツールという意味
 RedmineをGitHubライクに
    (Redcarpet Wiki Formatter/ブランチのマージ操
      作によるチケットクローズによる疑似プルリク
      エスト)
   Backlogsプラグインによるスクラムのサポ
    ート
Webサイトと画面
ALMiniumの概要
                                                    Gerrit
                                                   Jenkins

                                            Redmine+Plugins
                                          Marcurial           Git
          HTTPS(HTTP)
                                                Subversion

                                            Ruby/Passenger
                                           MySQL           Apache

                                            CentOS/Ubuntu
Page 38
                    アイコンは次のサイトで配布されているものですhttp://www.visualpharm.com/
ALMiniumのGit関連機能
 Apacheへの設定の自動化とRedmineとのユーザ
  連携
 HTTPSによる便利でセキュアなアクセス
 Webからのリポジトリの作成
 Redmine Git Branch Hookによるブランチとチケ
  ットの対応付け
 コミットの上書き禁止、タグ・ブランチの削除禁
  止など、安全に使える設定
Gitポケットリファレンス
 環境設定・Git入門
 Windowsユーザーにも
  優しく
 コマンドリファレンスで
  中級者もためになる
 フック・ALMinium/Gitolite
  でリポジトリ管理者も納得
 GitHub
チーとシート
         見本
スクラム対応
無駄をなくす



使わない機能
ほとんど使わない
機能         よく使う
           たまに使う
スクラムのおさらい
要件(バックログ)整理              スプリント計画
   悩みを投稿できる                   悩みを投稿できる

   投稿に返信できる                   投稿に返信できる

  Webサイトを公開する                 Webサイトを公開する

   非公開にできる

   メールで通知する

                                            タスク
レビュー・                   スプリント実施
振り返り
                悩みを投稿できる

                投稿に返信できる

                Webサイトを公開する
Redmine Backlogsでの対応
要件(バックログ)整理              スプリント計画
   悩みを投稿できる                   悩みを投稿できる

   投稿に返信できる                   投稿に返信できる

  Webサイトを公開する                 Webサイトを公開する

   非公開にできる

   メールで通知する

                                            タスク
レビュー・                   スプリント実施
振り返り
                悩みを投稿できる

                投稿に返信できる

                Webサイトを公開する
バックログの管理




チケットの粒度
  チケット=バックログをストーリーポイントで管理
タスクボード
バーンダウンチャート
集計とか
アジャイルのレベル
   レベル4. 自己組織化
   レベル3. フィードバック
       スプリント毎のバックログの見直し
       ベロシティの計測
       CI
   レベル2. 計測
       ブランチ・マージ

                            ALMinium
       チケット化
       タスクボード・バーンダウンチャート
       スプリント計画ミーティング
   レベル1. 共有
       ソースコード
       ストーリー/タスク
       問題・課題
       朝会・振り返り
ご清聴ありがとうございました!!

More Related Content

What's hot (20)

PDF
Redmine にいろいろ埋め込んでみた
Kohei Nakamura
 
PDF
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Go Maeda
 
PPTX
cluster-monitoringで困ったこと学んだこと
Sachiho Wakita
 
PPTX
Oracle Database (CDB) on Docker を動かしてみる
オラクルエンジニア通信
 
PDF
Redmine + MySQL 応答性能の調査結果と対策
Kuniharu(州晴) AKAHANE(赤羽根)
 
PDF
ServiceとRepository
シオリ ショウノ
 
PPTX
Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~
Michio Koyama
 
PDF
View customize1.2.0の紹介
onozaty
 
PDF
XAML入門
一希 大田
 
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
 
PDF
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
 
PDF
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
 
PDF
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
Yukiya Hayashi
 
PDF
日本語テストメソッドについて
kumake
 
PDF
View customize plugin for Redmineの紹介 (2019年版)
onozaty
 
PDF
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
 
PDF
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
IBM Analytics Japan
 
PDF
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
 
PPTX
KubernetesバックアップツールVeleroとちょっとした苦労話
imurata8203
 
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
 
Redmine にいろいろ埋め込んでみた
Kohei Nakamura
 
Redmine 4.2で作るヘルプデスク向け問い合わせ受付・管理システム
Go Maeda
 
cluster-monitoringで困ったこと学んだこと
Sachiho Wakita
 
Oracle Database (CDB) on Docker を動かしてみる
オラクルエンジニア通信
 
Redmine + MySQL 応答性能の調査結果と対策
Kuniharu(州晴) AKAHANE(赤羽根)
 
ServiceとRepository
シオリ ショウノ
 
Active DirectoryでDHCPを使う ~DHCPサーバーとクライアントの設定~
Michio Koyama
 
View customize1.2.0の紹介
onozaty
 
XAML入門
一希 大田
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
 
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
 
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
Yukiya Hayashi
 
日本語テストメソッドについて
kumake
 
View customize plugin for Redmineの紹介 (2019年版)
onozaty
 
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
 
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
IBM Analytics Japan
 
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
 
KubernetesバックアップツールVeleroとちょっとした苦労話
imurata8203
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
 

Viewers also liked (20)

PDF
Scrum with Redmine Backlogs
Ryuta Hamasaki
 
PDF
はじめる! Redmine (2015)
Go Maeda
 
PDF
Redmineによるwebサポート窓口の実装と運用
Go Maeda
 
PDF
情報システム部門のタスク管理~ITS応答性能の調査結果と対策 編~ #RxTstudy #6 #Redmine
Kuniharu(州晴) AKAHANE(赤羽根)
 
PDF
Redmineを快適に使うためのおすすめ初期設定
Go Maeda
 
PDF
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
akipii Oga
 
PDF
Redmineによるメール対応管理の運用事例
Go Maeda
 
PDF
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
Yu Nobara
 
PDF
第6回品川Redmine勉強会発表資料「開発基盤としてのRedmine~Redmineをカスタマイズするポイント」
akipii Oga
 
PDF
Redmineプラグイン導入・開発入門
Minoru Maeda
 
PDF
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ
akipii Oga
 
PDF
ある工場のRedmine
Kohei Nakamura
 
PDF
Redmineでチケット駆動開発を実践する~チケットに分割して統治せよ
akipii Oga
 
PDF
RedmineのFAQとアンチパターン集
akipii Oga
 
PDF
はじめる! Redmine
Go Maeda
 
PDF
挫折しないRedmine
Go Maeda
 
PDF
Redmineを使ってみよう
mrgoofy33 .
 
PDF
20120711 WUM Redmineの使い道_公開版
Yu Nakata
 
PDF
Redmineのバージョンアップに追従していくための一工夫
Go Maeda
 
PDF
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
akipii Oga
 
Scrum with Redmine Backlogs
Ryuta Hamasaki
 
はじめる! Redmine (2015)
Go Maeda
 
Redmineによるwebサポート窓口の実装と運用
Go Maeda
 
情報システム部門のタスク管理~ITS応答性能の調査結果と対策 編~ #RxTstudy #6 #Redmine
Kuniharu(州晴) AKAHANE(赤羽根)
 
Redmineを快適に使うためのおすすめ初期設定
Go Maeda
 
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
akipii Oga
 
Redmineによるメール対応管理の運用事例
Go Maeda
 
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
Yu Nobara
 
第6回品川Redmine勉強会発表資料「開発基盤としてのRedmine~Redmineをカスタマイズするポイント」
akipii Oga
 
Redmineプラグイン導入・開発入門
Minoru Maeda
 
【第7回redmine.tokyo勉強会】RedmineのFAQとアンチパターン集~WBS駆動からチケット駆動へ
akipii Oga
 
ある工場のRedmine
Kohei Nakamura
 
Redmineでチケット駆動開発を実践する~チケットに分割して統治せよ
akipii Oga
 
RedmineのFAQとアンチパターン集
akipii Oga
 
はじめる! Redmine
Go Maeda
 
挫折しないRedmine
Go Maeda
 
Redmineを使ってみよう
mrgoofy33 .
 
20120711 WUM Redmineの使い道_公開版
Yu Nakata
 
Redmineのバージョンアップに追従していくための一工夫
Go Maeda
 
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
akipii Oga
 
Ad

Similar to RedmineとGitとスクラム (20)

PDF
git 初めの一歩
Shin Yoshida
 
PDF
Version Control System Tutorial バージョン管理システムチュートリアル
Computational Materials Science Initiative
 
PDF
猫にはわからないGit講座
Yusei Yamanaka
 
PDF
Gitのよく使うコマンド
YUKI Kaoru
 
KEY
Git (運用編)
Naomichi Yamakita
 
KEY
Git (実践入門編)
Naomichi Yamakita
 
PDF
Git地図
yoshiaki iwanaga
 
PDF
バージョン管理システムチュートリアル
Ryo Igarashi
 
PDF
Git -分散バージョン管理システム-
Koji Shinba
 
KEY
20120324 git training
Takeshi AKIMA
 
KEY
P4p20120408
Naoto Koshikawa
 
PDF
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
Takeshi Mikami
 
PPTX
いいこんぶGitマニュアル
Kaito Yuuki
 
KEY
Gitを使ってみませんか
Atsuhiro Takiguchi
 
PPTX
Git & GitHub & kintone でウルトラハッピー!
ymmt
 
PDF
ソフトウェア工学2023 08 GitHub
Toru Tamaki
 
PPTX
今さら聞けない人のためのGitLabの始め方 Ubuntu編
VirtualTech Japan Inc./Begi.net Inc.
 
PPTX
Git introduction2
Misa Kondo
 
PDF
Git-dojo In Sendagaya.rb
Jun Fukaya
 
PDF
GitHubの機能を活用したGitHub Flowによる開発の進め方
Takeshi Mikami
 
git 初めの一歩
Shin Yoshida
 
Version Control System Tutorial バージョン管理システムチュートリアル
Computational Materials Science Initiative
 
猫にはわからないGit講座
Yusei Yamanaka
 
Gitのよく使うコマンド
YUKI Kaoru
 
Git (運用編)
Naomichi Yamakita
 
Git (実践入門編)
Naomichi Yamakita
 
Git地図
yoshiaki iwanaga
 
バージョン管理システムチュートリアル
Ryo Igarashi
 
Git -分散バージョン管理システム-
Koji Shinba
 
20120324 git training
Takeshi AKIMA
 
P4p20120408
Naoto Koshikawa
 
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
Takeshi Mikami
 
いいこんぶGitマニュアル
Kaito Yuuki
 
Gitを使ってみませんか
Atsuhiro Takiguchi
 
Git & GitHub & kintone でウルトラハッピー!
ymmt
 
ソフトウェア工学2023 08 GitHub
Toru Tamaki
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
VirtualTech Japan Inc./Begi.net Inc.
 
Git introduction2
Misa Kondo
 
Git-dojo In Sendagaya.rb
Jun Fukaya
 
GitHubの機能を活用したGitHub Flowによる開発の進め方
Takeshi Mikami
 
Ad

More from Takashi Okamoto (11)

PDF
PhoneGapでWebアプリをスマホアプリ化
Takashi Okamoto
 
PDF
jQuery Mobile で作る" 実用" スマフォアプリ
Takashi Okamoto
 
PDF
jQuery Mobileの基礎
Takashi Okamoto
 
PDF
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
Takashi Okamoto
 
PDF
Jqm20120804 publish
Takashi Okamoto
 
PDF
Opsta github-hundson 20120201
Takashi Okamoto
 
PDF
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Takashi Okamoto
 
PDF
Shibuya.trac、DVCSの導入方法のご紹介
Takashi Okamoto
 
PDF
Shibuya.tracの紹介
Takashi Okamoto
 
PDF
Kanonによるはじめてのアジャイル開発
Takashi Okamoto
 
PDF
分散バージョン管理システムって何なん 20101218
Takashi Okamoto
 
PhoneGapでWebアプリをスマホアプリ化
Takashi Okamoto
 
jQuery Mobile で作る" 実用" スマフォアプリ
Takashi Okamoto
 
jQuery Mobileの基礎
Takashi Okamoto
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
Takashi Okamoto
 
Jqm20120804 publish
Takashi Okamoto
 
Opsta github-hundson 20120201
Takashi Okamoto
 
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Takashi Okamoto
 
Shibuya.trac、DVCSの導入方法のご紹介
Takashi Okamoto
 
Shibuya.tracの紹介
Takashi Okamoto
 
Kanonによるはじめてのアジャイル開発
Takashi Okamoto
 
分散バージョン管理システムって何なん 20101218
Takashi Okamoto
 

Recently uploaded (8)

PDF
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
 
PDF
20250711_日本IBM ミドルウエア・ユーザー研究会(JIMUC)総会_中村会長資料.pdf
ChikakoInami1
 
PDF
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
 
PDF
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
 
PDF
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
 
PDF
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
 
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
 
PDF
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
 
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
 
20250711_日本IBM ミドルウエア・ユーザー研究会(JIMUC)総会_中村会長資料.pdf
ChikakoInami1
 
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
 
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
 
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
 
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
 
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
 
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
 

RedmineとGitとスクラム