SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Yggdrasil(ゆぐどらしる)
~ サーバ運用の No Ticket, No Work ~
shinagawa.redmine 第5回勉強会LT
2013.06.29 @tkusukawa
自己紹介: @tkusukawa
くすかわ と言います
サラリーマンです
WorkTimeという
工数入力のRedmineプラグインを
公開しています
WikiListsという
チケットの検索結果一覧を
Wikiやチケットに表示するマクロの
プラグインを公開しています
サーバ運用に使えるツール
をご紹介します。
Redmineによる運用ということで、
Linuxサーバの
設定変更
どうしてます?
とつぜんですが、
ちゃんと
後で変更点が解るように
してますか?
日付つきのファイル名に
コピーします?
日付つきのファイルで
いっぱいになりませんか?
ファイルコピーしないで
やっちまう奴いませんか?
そんなあなたに朗報です!
Yggdrasil(ゆぐどらしる)で
設定ファイルを
Subversion管理できます。
インストール方法
① Subversionを入れます
② Ruby(gem)を入れます
② # gem install yggdrasil
→ https://rubygems.org/gems/yggdrasil
gem ygg
で検索して下さい。
たぶん上位3つぐらいには出てきます。
初期化:リポジトリ接続
(スタンドアローン編)
$ ygg init --repo private
↑ リポジトリの準備が要らない。お手軽。
SVNリポジトリをローカルに自動作成します
~/.yggdrasil/private_repo
初期化:リポジトリ接続 (集中管理編)
【SVNリポジトリの準備】
→ サーバーを起動
【各OSノードでの初期化】
$ ygg init --repo svn://~/svn/hostA/
svn://~/svn/hostA/etc/~
/var/~
/~
/hostB/~
/hostC/~
/hostD/~
SVNリポジトリ
全サーバの
設定履歴
このリポジトリは
全サーバを体現する
巨大な木になる。
→ これはまさに世界樹!
英語にすると
Yggdrasil(ゆぐどらしる)
使い方① 管理対象へのファイル追加
$ ygg add [設定ファイル...]
svn addと同じイメージ
最後に後述のコミットが必要
使い方② 変更されたファイルの確認
$ ygg check
→ 変更項目の一覧を表示
→ 番号[enter]でdiffを表示
→ Y[enter] で全部のdiffを表示
→ n[enter]で終了
使い方③ 変更のコミット
$ ygg commit –m 'メッセージ'
→ コミット項目の一覧が表示される
→ 番号[enter]でdiffを表示
→ Y[enter] でコミット実施
特定のファイルやフォルダを指定して
コミットすることも出来ます
使い方 の 使い方
$ ygg help
→ サブコマンド一覧を表示
add check cleanup commit diff help
init list log update version
$ ygg help [サブコマンド]
→ サブコマンドの説明を表示
yggdrasilの運用
Yggdrasilの運用① どの設定を管理するか
管理したいファイルはいつも決まっていて沢山ある。
ので、下記をコピペ入力して一気にAddがお勧め
# cat <<EOF | while read f; do ls $f >/dev/null 2>&1 && ygg add $f ; done
/etc/aliases
/etc/cron.deny
/etc/crontab
/etc/fstab
/var/spool/cron/*
...
EOF
cat <<EOF | while read f; do ls $f >/dev/null 2>&1 && ygg add $f ; done
/etc/aliases
/etc/auto.automnt
/etc/auto.master
/etc/auto.misc
/etc/auto.net
/etc/cron.deny
/etc/crontab
/etc/fstab
/etc/group
/etc/gshadow
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/inittab
/etc/login.defs
/etc/logrotate.conf
/etc/modprobe.conf
/etc/ntp.conf
/etc/nscd.conf
/etc/nsswitch.conf
/etc/passwd
/etc/resolv.conf
/etc/shadow
/etc/sudoers
/etc/syslog.conf
/etc/wgetrc
/etc/xinetd.conf
/etc/yum.conf
/etc/chroot_list
/etc/rc.local
/etc/pam.d/*
/etc/sysconfig/i18n
/etc/sysconfig/network
/etc/sysconfig/static-routes
/etc/sysconfig/iptables*
/etc/sysconfig/network-scripts/ifcfg-eth?
/etc/sysconfig/network-scripts/ifcfg-bond?
/etc/sysconfig/network-scripts/route-eth?
/etc/sysconfig/network-scripts/route-bond?
/etc/sysconfig/rhn/systemid
/etc/postfix/main.cf
/etc/postfix/master.cf
/etc/rc.d/rc
/etc/rc.d/rc.local
/etc/rc.d/rc.sysinit
/etc/rc.d/init.d/*
/etc/ssh/sshd_config
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/chroot_list
/var/spool/cron/*
/etc/logrotate.d/*
/etc/php.ini
/etc/php.d/*.ini
/etc/snmp/snmpd.conf
EOF
Yggdrasilの運用② コミット忘れ防止
ついコミットするのを忘れちゃう
→ 深夜に cron で ygg check して
メール周知することをお勧めします
→ コミット漏れが無い状態を
キープすることが重要
Yggdrasilの運用③ Redmineと接続
リポジトリをRedmineに設定して
コミットMsgに必ずチケット番号を書くルール
No Ticket, No Commit! の運用がお勧め
ダマで設定を変えると翌朝メールが飛ぶので、
その日の内に必ずコミットしなければならない。
つまりチケット起票が無いと設定変更できない!
→ No Ticket, No Work の習慣が醸成される
Yggdrasilの効能
自分が何をやったのかを確実に把握できる
→ 修正もれ/一時的な修正の戻し忘れに気付ける
過去に遡ってその日どのサーバに変更があったか
が Subversionのログで手に取るように解る
セッティングルールの違反を
全体ツリーのgrepで探せる
開発者募集中
https://rubygems.org/gems/yggdrasil

Más contenido relacionado

Destacado

チケットシステムの可能性 - 開発から業務まで -
チケットシステムの可能性 - 開発から業務まで -チケットシステムの可能性 - 開発から業務まで -
チケットシステムの可能性 - 開発から業務まで -Makoto SAKAI
 
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」Go Maeda
 
Redmineを使ったヘルプデスクシステムでサポート業務を効率化
Redmineを使ったヘルプデスクシステムでサポート業務を効率化Redmineを使ったヘルプデスクシステムでサポート業務を効率化
Redmineを使ったヘルプデスクシステムでサポート業務を効率化Go Maeda
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Go Maeda
 
Redmineによるwebサポート窓口の実装と運用
Redmineによるwebサポート窓口の実装と運用Redmineによるwebサポート窓口の実装と運用
Redmineによるwebサポート窓口の実装と運用Go Maeda
 
Redmineによるメール対応管理の運用事例
Redmineによるメール対応管理の運用事例Redmineによるメール対応管理の運用事例
Redmineによるメール対応管理の運用事例Go Maeda
 
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」akipii Oga
 

Destacado (8)

チケットシステムの可能性 - 開発から業務まで -
チケットシステムの可能性 - 開発から業務まで -チケットシステムの可能性 - 開発から業務まで -
チケットシステムの可能性 - 開発から業務まで -
 
運用業務でのRedmine
運用業務でのRedmine運用業務でのRedmine
運用業務でのRedmine
 
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
Git・Mercurial両対応 リポジトリ管理ツール「Kallithea」
 
Redmineを使ったヘルプデスクシステムでサポート業務を効率化
Redmineを使ったヘルプデスクシステムでサポート業務を効率化Redmineを使ったヘルプデスクシステムでサポート業務を効率化
Redmineを使ったヘルプデスクシステムでサポート業務を効率化
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定
 
Redmineによるwebサポート窓口の実装と運用
Redmineによるwebサポート窓口の実装と運用Redmineによるwebサポート窓口の実装と運用
Redmineによるwebサポート窓口の実装と運用
 
Redmineによるメール対応管理の運用事例
Redmineによるメール対応管理の運用事例Redmineによるメール対応管理の運用事例
Redmineによるメール対応管理の運用事例
 
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
 

Similar a Yggdrasil(ゆぐどらしる) ~ サーバ運用のNo Ticket, No Work ~

Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話nekogeruge_987
 
DXRubyとスプライトエディタ
DXRubyとスプライトエディタDXRubyとスプライトエディタ
DXRubyとスプライトエディタmieki256 blawat
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradlekimukou_26 Kimukou
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!kwatch
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介Hiromu Yakura
 
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012Tatsuhiko Kubo
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記Yugo Shimizu
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムGo Sueyoshi (a.k.a sue445)
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードKazuhiro Hara
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, CodereadingHiro Yoshioka
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみたKazuya Wada
 
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Takashi Okamoto
 
JJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-bootJJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-bootTsuyoshi Yamamoto
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようTakayuki Shimizukawa
 
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれNGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれDNA Data Bank of Japan center
 

Similar a Yggdrasil(ゆぐどらしる) ~ サーバ運用のNo Ticket, No Work ~ (20)

Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
 
DXRubyとスプライトエディタ
DXRubyとスプライトエディタDXRubyとスプライトエディタ
DXRubyとスプライトエディタ
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradle
 
Start-padrino
Start-padrinoStart-padrino
Start-padrino
 
Git
GitGit
Git
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
 
Fluentd casual
Fluentd casualFluentd casual
Fluentd casual
 
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012
 
Google bigquery導入記
Google bigquery導入記Google bigquery導入記
Google bigquery導入記
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
Grailsのススメ(仮)
Grailsのススメ(仮)Grailsのススメ(仮)
Grailsのススメ(仮)
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
 
JJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-bootJJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-boot
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
 
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれNGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
 

Más de Tomohisa Kusukawa

Redmineを利用する趣旨
Redmineを利用する趣旨Redmineを利用する趣旨
Redmineを利用する趣旨Tomohisa Kusukawa
 
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)うちのRedmineの使い方(2)
うちのRedmineの使い方(2)Tomohisa Kusukawa
 
Redmineと自分のそのころ
Redmineと自分のそのころRedmineと自分のそのころ
Redmineと自分のそのころTomohisa Kusukawa
 
工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜Tomohisa Kusukawa
 
Redmine.tokyo 第7回勉強会 ディスカッション
Redmine.tokyo 第7回勉強会 ディスカッションRedmine.tokyo 第7回勉強会 ディスカッション
Redmine.tokyo 第7回勉強会 ディスカッションTomohisa Kusukawa
 
うちのRedmineの使い方
うちのRedmineの使い方うちのRedmineの使い方
うちのRedmineの使い方Tomohisa Kusukawa
 

Más de Tomohisa Kusukawa (6)

Redmineを利用する趣旨
Redmineを利用する趣旨Redmineを利用する趣旨
Redmineを利用する趣旨
 
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)うちのRedmineの使い方(2)
うちのRedmineの使い方(2)
 
Redmineと自分のそのころ
Redmineと自分のそのころRedmineと自分のそのころ
Redmineと自分のそのころ
 
工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜
 
Redmine.tokyo 第7回勉強会 ディスカッション
Redmine.tokyo 第7回勉強会 ディスカッションRedmine.tokyo 第7回勉強会 ディスカッション
Redmine.tokyo 第7回勉強会 ディスカッション
 
うちのRedmineの使い方
うちのRedmineの使い方うちのRedmineの使い方
うちのRedmineの使い方
 

Yggdrasil(ゆぐどらしる) ~ サーバ運用のNo Ticket, No Work ~