Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
zetamatta
PPT, PDF
1,875 views
Mercurial はオフラインの海を越える
SIer さん向けの Mercurial の利用事例です。
Read more
3
Save
Share
Embed
Embed presentation
Download
Downloaded 10 times
1
/ 14
2
/ 14
3
/ 14
4
/ 14
5
/ 14
6
/ 14
7
/ 14
8
/ 14
9
/ 14
10
/ 14
11
/ 14
12
/ 14
13
/ 14
14
/ 14
More Related Content
PDF
lilo.linux.or.jp の話 (2017年8月)
by
Kazuhiro Nishiyama
PDF
lilo.linux.or.jp を wheezy から jessie にあげた話
by
Kazuhiro Nishiyama
PDF
Lagopus 0.2
by
Masaru Oki
PPT
CometPub20070223
by
Hiroshi Ono
PPTX
Scala勉強会
by
Kazuaki Shibue
PDF
Lagopus.confの書式(for lagopus 0.1.x)
by
Masaru Oki
PDF
Webサーバ勉強会 (160-162:?)
by
Yuuki Namikawa
PDF
新生Lagopus2017(仮称)
by
Masaru Oki
lilo.linux.or.jp の話 (2017年8月)
by
Kazuhiro Nishiyama
lilo.linux.or.jp を wheezy から jessie にあげた話
by
Kazuhiro Nishiyama
Lagopus 0.2
by
Masaru Oki
CometPub20070223
by
Hiroshi Ono
Scala勉強会
by
Kazuaki Shibue
Lagopus.confの書式(for lagopus 0.1.x)
by
Masaru Oki
Webサーバ勉強会 (160-162:?)
by
Yuuki Namikawa
新生Lagopus2017(仮称)
by
Masaru Oki
What's hot
PDF
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
by
hagino 3000
PPTX
RPCノード構築方法【Litecoin】
by
qaz_id
PDF
Cocoa勉強会#33-意外に楽に使えるlibcurl
by
Masayuki Nii
PDF
マイクラ自動化枠第1回資料
by
Ryo Fujita
PDF
Ssaw08 0617
by
Atsushi Tadokoro
PPT
処理概要図&構築手順書1124
by
Kazuki Miura
KEY
Cost of ovs receiving process
by
Takuya ASADA
PDF
sslcompressionの設定方法および性能測定結果
by
kawarasho
PDF
dvcs-kyoto
by
Naoya Inada
PDF
おかあさんとgit
by
manaten
PDF
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
by
Tsuyoshi Yamada
PDF
Cms on SELinux
by
Hiroki Ishikawa
PDF
Lagopus, raw socket build
by
Masaru Oki
PPTX
Kubernetesできること
by
iPride Co., Ltd.
PDF
Lagopus 0.2.2
by
Masaru Oki
PDF
Purely functional data structures 8.2 日本語での説明
by
Tetsuro Nagae
PDF
Lagopus performance
by
Masaru Oki
PDF
Ecs
by
bbaa21
PDF
STC_manual_ver1.0
by
Satoshi Kume
PPT
Namespace
by
Hiroshi Oshiba
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
by
hagino 3000
RPCノード構築方法【Litecoin】
by
qaz_id
Cocoa勉強会#33-意外に楽に使えるlibcurl
by
Masayuki Nii
マイクラ自動化枠第1回資料
by
Ryo Fujita
Ssaw08 0617
by
Atsushi Tadokoro
処理概要図&構築手順書1124
by
Kazuki Miura
Cost of ovs receiving process
by
Takuya ASADA
sslcompressionの設定方法および性能測定結果
by
kawarasho
dvcs-kyoto
by
Naoya Inada
おかあさんとgit
by
manaten
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
by
Tsuyoshi Yamada
Cms on SELinux
by
Hiroki Ishikawa
Lagopus, raw socket build
by
Masaru Oki
Kubernetesできること
by
iPride Co., Ltd.
Lagopus 0.2.2
by
Masaru Oki
Purely functional data structures 8.2 日本語での説明
by
Tetsuro Nagae
Lagopus performance
by
Masaru Oki
Ecs
by
bbaa21
STC_manual_ver1.0
by
Satoshi Kume
Namespace
by
Hiroshi Oshiba
Viewers also liked
PDF
Time Machine
by
Lixun Peng
PDF
Help is at hand
by
Alan Bassett
PPT
Programming言語Lua紹介(Internet版)
by
zetamatta
PPTX
Scarecrow Festival at Thackley Methodist Church
by
thackley
PDF
Cabin Crew Analyst- Pitch Deck
by
Buzzlair Voufincci
PDF
Work from height event 26.09.13 chester le street
by
Alan Bassett
PDF
Worker and forklift fell through opening
by
Alan Bassett
PDF
Expo Booking Form Wynyard
by
Alan Bassett
PDF
Prioritization to Production
by
Boaz Katz
PDF
Neshep 01 12 2015
by
Alan Bassett
PDF
Newcastle Construction Division Newsletter-July 2010
by
Alan Bassett
PPT
Kp event presentation_steph
by
Brightwave Group
PPT
A road map to 2020 - how can learning technologies support fast-changing busi...
by
Brightwave Group
PPT
Careers 2 0 balica
by
Randolph Preisinger-Kleine
PPT
Kelly Ruggles
by
Kelly Ruggles
PPTX
GraFiorio Portfolio
by
Gerardo Fiorio
PDF
Winter driving october 2013
by
Alan Bassett
PPS
Lesson to be_learned
by
Ramaswamy Ramakrishnan
PPT
Kelly C. Ruggles
by
Kelly Ruggles
ODP
Tastes Great, More Satisfying!
by
Goodnight Memorial Library
Time Machine
by
Lixun Peng
Help is at hand
by
Alan Bassett
Programming言語Lua紹介(Internet版)
by
zetamatta
Scarecrow Festival at Thackley Methodist Church
by
thackley
Cabin Crew Analyst- Pitch Deck
by
Buzzlair Voufincci
Work from height event 26.09.13 chester le street
by
Alan Bassett
Worker and forklift fell through opening
by
Alan Bassett
Expo Booking Form Wynyard
by
Alan Bassett
Prioritization to Production
by
Boaz Katz
Neshep 01 12 2015
by
Alan Bassett
Newcastle Construction Division Newsletter-July 2010
by
Alan Bassett
Kp event presentation_steph
by
Brightwave Group
A road map to 2020 - how can learning technologies support fast-changing busi...
by
Brightwave Group
Careers 2 0 balica
by
Randolph Preisinger-Kleine
Kelly Ruggles
by
Kelly Ruggles
GraFiorio Portfolio
by
Gerardo Fiorio
Winter driving october 2013
by
Alan Bassett
Lesson to be_learned
by
Ramaswamy Ramakrishnan
Kelly C. Ruggles
by
Kelly Ruggles
Tastes Great, More Satisfying!
by
Goodnight Memorial Library
Similar to Mercurial はオフラインの海を越える
PDF
バージョン管理システムチュートリアル
by
Ryo Igarashi
PDF
Mercurial入門(前半)
by
You&I
PDF
SVNのすすめ&Redmineでプロジェクト管理
by
ina job
PDF
バージョン管理#01 -Subversion編-
by
hakoika-itwg
PDF
Redmineを使ってみよう
by
mrgoofy33 .
PDF
ある工場の Redmine バージョンアップ
by
Kohei Nakamura
KEY
一人でもはじめるGitでバージョン管理
by
Takafumi Yoshida
PDF
Version管理 1
by
hakoika-itwg
PDF
VCS - Version Control System at Security and Programming camp 2011
by
Hiro Yoshioka
PDF
Mercurial入門(後半)
by
You&I
PDF
Git -分散バージョン管理システム-
by
Koji Shinba
KEY
Git (実践入門編)
by
Naomichi Yamakita
PDF
Mercurial入門(後半)解説版
by
You&I
PDF
Real legacy
by
Koichiro Ohba
PDF
Mercurial入門
by
You&I
PDF
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
by
Seiji KOMATSU
PDF
分散バージョン管理システムって何なん 20101218
by
Takashi Okamoto
PDF
Osc mercurial-public
by
wyukawa
PPTX
Yamaguchi webgroup06 subversion
by
Ohishi Mikage
ODP
Mercurialコマンドの紹介
by
Tsutomu Takeuchi
バージョン管理システムチュートリアル
by
Ryo Igarashi
Mercurial入門(前半)
by
You&I
SVNのすすめ&Redmineでプロジェクト管理
by
ina job
バージョン管理#01 -Subversion編-
by
hakoika-itwg
Redmineを使ってみよう
by
mrgoofy33 .
ある工場の Redmine バージョンアップ
by
Kohei Nakamura
一人でもはじめるGitでバージョン管理
by
Takafumi Yoshida
Version管理 1
by
hakoika-itwg
VCS - Version Control System at Security and Programming camp 2011
by
Hiro Yoshioka
Mercurial入門(後半)
by
You&I
Git -分散バージョン管理システム-
by
Koji Shinba
Git (実践入門編)
by
Naomichi Yamakita
Mercurial入門(後半)解説版
by
You&I
Real legacy
by
Koichiro Ohba
Mercurial入門
by
You&I
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
by
Seiji KOMATSU
分散バージョン管理システムって何なん 20101218
by
Takashi Okamoto
Osc mercurial-public
by
wyukawa
Yamaguchi webgroup06 subversion
by
Ohishi Mikage
Mercurialコマンドの紹介
by
Tsutomu Takeuchi
Mercurial はオフラインの海を越える
1.
Mercurial は オフラインの海を越える
分散バージョン管理システムを 用いた高可用システムの 保守管理の試み
2.
バージョン管理システムとは ファイルや各種のデータなどの内容を修正したり変更した内容を記録するソフトウェア 変更に一段落がつく度に、新バージョンとして登録
(commit) 修正差分を他のノードのソースへ展開する。 問題があった時に過去のバージョンに戻せる 今まで行ってきた修正が履歴として残る Repository 古いバージョンを保持しておく場所 管理対象のファイル群
3.
バージョン管理ソフトの歴史 RCS (Revision
Control System) 1 ファイル単位 修正目的は一つなのに、ファイルごとに履歴を書かなくちゃだめない ロック方式 誰からロックをかけちゃうと解除できない SI 開発ではよいが、不特定多数がパッチを作る OSS では不都合だった CVS (RCS を改良-> 一気に広まる ) ネットワーク連携 -> 中央集権型レポジトリ ディレクトリ単位で修正情報を登録 ロック方式排除 -> かわりにマージ機能 Subversion (CVS のいろんな不都合を修正 ) 余計なタグを埋め込まないので、バイナリでも安心 ファイルのリネームや移動をサポート ロールバック機能 ★ Subversion が世界を制するかのように見えた!
4.
なぜ CVS/Subversion
では駄目なのか 全てのノードが オンラインであることを要求 SI 開発の場はそうではない 開発委託先と委託元 開発環境とテスト環境と本番環境 いずれも、オンラインで IP⇔IP でつながっていることは、まずありえない。 苦肉の策は、オンラインでつながっているイントラネットごとに別々にレポジトリを立てること!
5.
「苦肉の策」は、所詮「苦肉の策」 ファイルの移動は「 zip
でくれ」 バージョンナンバーや変更履歴がたくさん 場所 ( 本番 / 開発 / 委託先 ) ごとに違う ファイルごとに違う ( 記録の手間が一括なだけで、それぞれ別に採番 ) ファイルの同一性の保証ができない ファイルの構成が異なっている時、どのファイルを展開したらよいか、マージしたらよいかを、人間が管理しなくちゃいけない Linus さんも駄目だと言ってる ★ これはもう破綻しているのではないだろうか
6.
イントラネット単位? いやいや、むしろ強気にノードごとにレポジトリを設置します ノードの設置場所がバラバラであるという「現実」を踏まえた設計
それぞれのレポジトリの同一性が保たれていればよい。そのためには オフラインでもレポジトリを同期させる手段を提供できればよい。 双方のレポジトリが同一であることを保証できればよい バージョンナンバーは全体に対して、一つ採番すればよい 分散バージョン管理システムは答える 「レポジトリの分散? 上等!」
7.
分散バージョン管理システムにも いろいろあるけれど Mercurial(
マーキュリアル ) とは サーバ不要 Python 2.3 以上 ( 日本語を変更履歴に残すなら、 2.4 以上 ) Mozilla Firefox , NetBeans などが採用 ライバルは Git( あっちは Linux Kernel が使ってる )
8.
Mercurial はオフラインの海を越える
bundle / unbundle バージョン差分を 1 ファイルに抽出する ― 「 bundle 」 USB メモリ・メールなどで、差分ファイルを輸送する 差分ファイルを宛先レポジトリへ反映 ― 「 unbundle 」 開発 Repository Rev.20 USB 丸 19 ~ 20 の差分 本番 (Rev.19) 本番 (Rev.20) 同期 ! $ hg bundle –base 19 ver19to20.hg $ hg unbundle ver19to20.hg
9.
同一性の保証 構成ファイルがなすツリー全体に対して、 一つのバージョン識別子
― ChangeSetID 一つでもファイルが変われば、 全体のバージョンナンバーが変わる これで「ファイルの漏れ」が分かる ChangeSetID は通し番号ではなく、チェックサムみたいなもの 例:「 21: 4937b9f334ce 」 前半「 21 」は「単なる」通し番号 ( ノードによって違う ) 後半「 4937b9f334ce 」は一意性を示す ID つまり、 ChangeSetID が同じなら、 レポジトリは一致しているんだよ!!!
10.
Mercurial は
真のバージョン管理を提供する ツリー全体の変更履歴をシーケンシャルに管理する 1 個でも変えたら、これに載る どれを変えたかも、ちゃんと載る ファイルの洩れが無いか、これで確認できる $ hg log | more changeset: 21:4937b9f334ce tag: tip user: [email_address] date: Wed Mar 19 18:25:34 2008 +0900 summary: 20080319_syukka_release changeset: 20:563c0f01b2ed user: [email_address] date: Tue Mar 18 16:58:12 2008 +0900 summary: * ks_limite_delte_pm : modify Makefile , remove files for schogedb because pm hogedb not need them. changeset: 19:8499441b8190 user: [email_address] date: Thu Feb 28 17:22:54 2008 +0900 summary: * sequence list for rebuldsyn.rb changeset: 18:84487d3f3286 user: [email_address] date: Thu Feb 28 17:22:04 2008 +0900 summary: * add export sequence script 'exp_sequences.sql'
11.
クラスターに応用してみた クラスターは双方のノードで、同じ挙動を保証しなくてはならない。 が、共有ディスクに何もかも置くわけにはいかない
TAKEOVER 時に、ディスクの受け渡しに失敗するリスクが増す だから、 DB など動的に変わるデータしか置くべきでない 1 号機と 2 号機の構成の同期は永遠の課題 ⇒ 分散バージョン管理システムで同期する
12.
Mercurial と
クラスター 1 号機で修正 1 号機で 「 hg commit 」 1 号機から 2 号機へ「 hg push 」 2 号機で 「 hg update 」 (2 を行うと 3 ~ 4 を自動化するのも可能 ) レポジトリ レポジトリ 1 号機 2 号機 $ hg commit $ hg push or $ hg pull $ hg update
13.
どこでも Mercurial
Mercurial はチェックアウトしたディレクトリのルートに .hg という隠しディレクトリを作るだけなので、どこでも管理しやすい。 というわけで、あるシステムは全てを Mercurial 管理にした ソース , スクリプトディレクトリ /etc ※ , /usr/local/dncware_scripts $ORACLE_HOME/dbs/ , $ORACLE_HOME/network/admin/ ※ cron 定義ファイルとか設定ファイル管理 別に同期させる必要はなくても、変更管理はしたいよね IP アドレスを含むディレクトリ (※) は同期させてはいけない 簡単に「ワークディレクトリ」と「レポジトリ」を複写 ( 分散 ) できる 「 hg clone 元ディレクトリ 新ディレクトリ」 やめるのも簡単: rm -rf .hg/
14.
まとめ Mercurial
を始めとする分散バージョン管理システムは以下のケースに強い 開発拠点の分散 ( オフラインの海を橋渡し ) 動作環境の分散 ( オフラインの海を橋渡し ) 動作ノードの分散 結果として以下の恩恵が得られる 履歴の連続性の確保 ツリー全体の同一性の保証 レポジトリ分散・バックアップによる破損回避 結論 SIer こそは Mercurial を使え!
Download