Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Upcoming SlideShare
Loading in...5
×
 

Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料

on

  • 2,460 views

 

Statistics

Views

Total Views
2,460
Views on SlideShare
472
Embed Views
1,988

Actions

Likes
0
Downloads
2
Comments
0

7 Embeds 1,988

http://blog.nextscape.net 1871
http://nsscweb.cloudapp.net 55
http://localhost 54
http://119.82.31.192 4
http://webcache.googleusercontent.com 2
http://www.nextscape.net 1
http://www.google.co.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 1

Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料 Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料 Presentation Transcript

  • 表紙 パワーランチ: Git運用ダメ出し会 2014.5.27 株式会社ネクストスケープ 三原亮介
  • Git運用ダメ出し会 アジェンダ Last Updated: Wednesday, May 28, 2014 www.nextscape.net 2 Gitについて軽く説明 (Subversionとの違いなど) Sitecoreウェブサイトでの運用事例 Windows上でGitを使う際の注意点
  • Git運用ダメ出し会 Subversionとの違い Last Updated: Wednesday, May 28, 2014 www.nextscape.net 3 SubversionとGitで使う用語の意味は変わっていない。全体のコンセプトが違う。 作業コピー Subversion Git リポジトリ コミットチェックアウト 作業ツリー リポジトリ コミットチェックアウト リモート リポジトリ クローン(複製) View slide
  • Git運用ダメ出し会 Sitecoreデータのバージョン管理 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 4 Sitecoreのウェブサイト運用でバージョン管理するデータとは? .aspx .ascx .cs .item シリアライズ.item .item 詳しくは、Sitecore MVP 赤澤さんのブログ記事で! ネスケラボ 『Sitecoreデータのバージョン管理事始め』 http://blog.nextscape.net/index.php/archives/2476 画像 CSS テキスト View slide
  • Git運用ダメ出し会 使用ツール Last Updated: Wednesday, May 28, 2014 www.nextscape.net 5 Git for Windows • Git BASHが便利。無いと困る。 • TortoiseGit、SourceTreeのコア TortoiseGit • TortoiseSVNと同様のエクスプローラー組み込み型 • Diffを見たりするのに便利 SourceTree • Git-flowをサポート Backlog • リモートリポジトリのホスティング • ネットワーク図が見やすい
  • Git運用ダメ出し会 既存SVNリポジトリの移行  Ruby製ツールsvn2git(https://github.com/nirvdrum/svn2git)を使用。  trunk/branches/tagsの構成をGit流に変換できる。 インストール 実行 tagsの中身が大きく、全部移行しようとしたら長時間がかかる上に止まったりしたので、trunkのみ移行することにした。 (SVNリポジトリを破棄するわけでもないので、tagsやbranches移行しないでも問題なかった)。 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 6 ツールを使ってSVNリポジトリをGitリポジトリに変換した。 $ gem install svn2git $ svn2git https://subversion/repository --username mihara -v --trunk trunk --nobranches --notags
  • Git運用ダメ出し会 SitecoreウェブサイトでのGit運用事例 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 7 得意先とNextscapeで2つのリポジトリを使用。 Sitecore 本番環境 Sitecore ステージ環境 Git Git Nextscape Backlog Gitリポジトリ A社 Backlog Gitリポジトリ A社 Nextscape NSでは社内リポジトリで作業を行い、 改修リリース時に得意先リポジトリへ反映(手で)。
  • Git運用ダメ出し会 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 8 ブランチ運用 得意先はmaster一本。NextscapeではGit-flowワークフローを採用。 キャンペーンサイトなど 大規模改修 Master A社 リポジトリ 保守作業 本番環境 ステージ 環境 Nextscape リポジトリ A社 Web担当者様 レイアウト等 修正 NS JINリポジトリ 変更の取得 NS 保守改修 リリース NS 大規模改修 リリース
  • Git運用ダメ出し会 Git-flow概要  Vincent Driessen氏が提唱するブランチ運用のやりかた。  Git-flowのやりかたをやりやすくするツールがある(git-flow, SourceTree…)  本件ではSourceTreeを採用。 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 9 社内ではGit-flowワークフローによって運用。
  • Git運用ダメ出し会 Git flow① 保守=develop  masterブランチはすぐにリリースしてOKな状態に保つ。  日々の保守作業はdevelopブランチ上で行い、リリースOK状態になったらmasterブランチにマージ。 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 10
  • Git運用ダメ出し会 Git flow② 追加開発=featureブランチ  大きめの開発するときは、developブランチからfeatureブランチを切る。  開発が終わったら、developブランチにマージする。 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 11
  • Git運用ダメ出し会 Git flow③ バグ対応など=hotfix Last Updated: Wednesday, May 28, 2014 www.nextscape.net 12  緊急なバグ対応とか。  得意先での変更内容も。
  • Git運用ダメ出し会 得意先リポジトリとの連携  得意先でソースを編集されることがある。  .aspxや.ascxファイルはビルドしないでもすぐ変更が反映される。  文言の修正とか、JavaScriptの追加とか。  変更したら、リポジトリへコミット/プッシュしてもらうようにお願いした。  ファイルのやり取りは手でやる。 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 13 Master A社 リポジトリ 本番環境 ステージ 環境 Nextscape リポジトリ A社 Web担当者様 レイアウト等 修正 ① ② ③ NS A社リポジトリ 変更の取得 NS 保守改修の反映
  • Git運用ダメ出し会 Windows上のGit(トラブル) 改行コードの変換 長いパスの問題 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 14
  • Git運用ダメ出し会 Windows上のGit(トラブル) 問題  CRLF->LFに変換する機能がある。  Sitecoreのシリアライズしたデータの管理で困った。 対策  改行コード変換しないようにした。 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 15 改行コードの問題 ----item---- version: 1 id: {3D403A61-253D-41A0-9A12-A5A43899F20F} database: master path: /sitecore/content/Home-2013/salon_info2/kanto/tochigi/567 parent: {21B7712E-E70E-43D3-B83D-5F2528F50907} name: 567 master: {00000000-0000-0000-0000-000000000000} template: {D8C795E4-B73B-4A5F-A424-94DD5D70267B} templatekey: Salon ----field---- field: {A4F985D9-98B3-4B52-AAAF-4344F6E747C6} name: __Workflow key: __workflow content-length: 38 {F16F7611-7B6C-47D3-B285-4626BFEAF7A6} ----version---- language: ja-JP version: 1 revision: 46f254ba-7088-49b2-8011-64c108d81c1b ----field---- field: {F501BC74-9AF1-4044-B2BD-5A848124CB7B} name: Metadata_Title key: metadata_title content-length: 33 サイトコア(マーケティングCMS) | Sitecore開発パートナー - 株式会社ネクストスケープ ----field---- field: {16534B48-FE26-4FC2-81CD-57C36DA3F0C0} name: Metadata_Description key: metadata_description content-length: 129 Sitecoreはその使いやすさ・機能性が認められ世界50か国、32,000サイト以上で愛されるWeb コンテンツ管理システムです。Sitecoreは留まることなく世界中のユーザーの声、最新のトレン ドを吸収し今も成長を続けています。 … シリアライズ化データの一例
  • Git運用ダメ出し会 Windows上のGit(トラブル) Last Updated: Wednesday, May 28, 2014 www.nextscape.net 16 改行コードの問題の対処方法 リポジトリごとの設定 *.item -text リポジトリのルートに .gitattributes ファイルを作り、下記を記載: .itemファイルについては 改行の変換を行わない
  • Git運用ダメ出し会 Windows上のGit(トラブル) Last Updated: Wednesday, May 28, 2014 www.nextscape.net 17 改行コードの問題の対処方法 環境ごとの設定 $ git config --global core.autocrlf false 全ファイル改行の変換を行わない
  • Git運用ダメ出し会 Windows上のGit(トラブル) 問題  Windowsが扱えるファイルパスは260文字までに制限されている。  Gitリポジトリからファイルを取得時に、ファイルパスが長すぎてコケる事案が発生。 対策  Git for Windows 1.9.0からは260文字の制限を超えたファイルパスを扱えるようになっている。  NTFSでは32,767文字までのファイルパスを扱える。  エクスプローラーなどアプリケーションの実装上制限がかかっている。→制限をはずすことはできる。  ただし、明示的に設定しておかないと制限解除ができない。 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 18 長いパスの問題 くわしくは・・・ Win32: support long paths https://github.com/msysgit/git/commit/c5f98452e98dca292c615000df7973ead63cf29b (Git for Windowsのコミットコメント)
  • Git運用ダメ出し会 Windows上のGit(トラブル) 環境ごとの設定 Last Updated: Wednesday, May 28, 2014 www.nextscape.net 19 長いパスの問題の対処方法 $ cd /path/to/repository/ $ git config --add core.longpaths true $ git config --global core.longpaths true リポジトリごとの設定
  • Git運用ダメ出し会 まとめ Gitのコンセプトを理解する 運用ルール(Git-flowなど)を決めておく Windowsで使う場合はちゃんと設定する Last Updated: Wednesday, May 28, 2014 www.nextscape.net 20 Gitは怖くない