rabbit-slide-nishidayuya-matsuerubykaigi05 2014.03.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 21865d60cbd1ba890b65cc0f6cc41cd137a77dd0
4
+ data.tar.gz: 9ef1cb8948c51ca1a9e1737e7fe6a18af53a9c34
5
+ SHA512:
6
+ metadata.gz: 8d73ee820c3139adcb55d347f08c3fe06a17776c70aca9ccb3e6a030dc6abbc81d3f31151887d895e559c3106a4a33c8dc5ee845f54105318cd1d473ed8dad4e
7
+ data.tar.gz: ac9199b4943dae04a92d83463c62ee25292de0f80d49eececca52c61a6029afb1459af2fe6db29430493041fffefe51c4bb05b5fc83d731dc5b1a2de1c09be38
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ chef_cookbooks.rab
@@ -0,0 +1,38 @@
1
+ # Chefを使うなら知っておいた方が便利なn個のCookbook
2
+
3
+ 使っていて便利だったCookbookの紹介です.
4
+
5
+ ## ライセンス
6
+
7
+ CC BY-SA 2.1 JP
8
+
9
+ 原著作者名は次のようになります.
10
+ - 西田雄也 (or Yuya.Nishida.)
11
+
12
+ ## 作者向け
13
+
14
+ ### 表示
15
+
16
+ ```
17
+ $ rake
18
+ ```
19
+
20
+ ### 公開
21
+
22
+ ```
23
+ $ rake publish
24
+ ```
25
+
26
+ ## 閲覧者向け
27
+
28
+ ### インストール
29
+
30
+ ```
31
+ $ gem install rabbit-slide-nishidayuya-matsuerubykaigi05
32
+ ```
33
+
34
+ ### 表示
35
+
36
+ ```
37
+ $ rabbit rabbit-slide-nishidayuya-matsuerubykaigi05.gem
38
+ ```
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # task.spec.files += Dir.glob("doc/**/*.*")
9
+ # task.spec.files -= Dir.glob("private/**/*.*")
10
+ # task.spec.add_runtime_dependency("YOUR THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
@@ -0,0 +1,159 @@
1
+ = Chefを使うなら知っておいた方が便利なn個のCookbook
2
+
3
+ : author
4
+ 西田雄也
5
+ : place
6
+ 松江Ruby会議05
7
+ : theme
8
+ lightning-simple
9
+ : allotted-time
10
+ 5m
11
+
12
+ = 自己紹介
13
+
14
+ = 仕事はRubyとJavaScript
15
+ = 趣味
16
+ = Chefとか
17
+ = Vagrantとか
18
+ = その辺で遊んでいます
19
+
20
+ = Chef使っている人
21
+
22
+ = サーバ構成変更ツール
23
+ = 他人のCookbook
24
+ = で
25
+ = 楽できる
26
+ = 他人のふんど^h^h^h Cookbook
27
+
28
+ * (程度の差はあるけど)よく作り込まれているものが多い.
29
+ * Node Objectに書くだけでインストール・設定できる.
30
+ * 追加Resourceが使えるようになる.
31
+ * クロスプラットホームで同じように書ける.Debian系とRedHat系とか
32
+
33
+ = いくつか
34
+ = 便利なCookbookの
35
+ = 紹介
36
+
37
+ = database
38
+ = database
39
+
40
+ * 各種RDBMSのためのCookbook
41
+ * データベースの作成 (database Resource)
42
+
43
+ database "redmine_production" do
44
+ provider Chef::Provider::Database::Postgresql
45
+ connection {...} # 接続先ホストとか...省略
46
+ owner "redmine"
47
+ encoding "UTF8"
48
+ action :create
49
+ end
50
+
51
+ = database
52
+
53
+ * 各種RDBMSのためのCookbook
54
+ * データベースユーザの作成 (database_user Resource)
55
+
56
+ database_user "redmine" do
57
+ provider Chef::Provider::Database::PostgresqlUser
58
+ connection {...} # 接続先ホストとか...省略
59
+ password node["redmine_database_password"]
60
+ privileges [:select, :update, :insert]
61
+ action :create
62
+ end
63
+
64
+ = rbenv
65
+ = rbenv
66
+
67
+ * やれること
68
+ * rbenvそのもののインストールやruby-buildによるrubyのインストール
69
+ * rbenvで管理しているRubyにgemをインストール
70
+ * ユーザごとにrbenvインストール
71
+ * Chef社が出しているもの ((*じゃない*)) ものが特に便利
72
+ # Berksfile
73
+ cookbook "rbenv", github: "fnichol/chef-rbenv"
74
+
75
+ = rbenv
76
+
77
+ * 使うRubyのバージョン指定ができるscript Resourceがある.
78
+ rbenv_script "migrate_rails_database" do
79
+ rbenv_version "2.1.1"
80
+ user "redmine"
81
+ group "redmine"
82
+ cwd "/opt/redmine/current"
83
+ code %{rake RAILS_ENV=production db:migrate}
84
+ end
85
+
86
+ = build-essential
87
+ = build-essential
88
+
89
+ * Cのコンパイル環境が必要な場合はこのCookbook
90
+ * rubyをビルドするとき
91
+ * 拡張ライブラリが入ったgemをインストールするとき
92
+ * その他もろもろ
93
+
94
+ = build-essential
95
+
96
+ * Cのコンパイル環境が必要なCookbookで依存していることが多いCookbook.
97
+ * gccやmakeが ((*早い*)) 段階で必要な場合は次のような指定を行う.
98
+ # nodes/HOST.json
99
+ ...
100
+ "build_essential": {
101
+ "compiletime": true
102
+ },
103
+ ...
104
+
105
+ = gem_binary
106
+ = gem_binary
107
+
108
+ * 他人のCookbookでgemがインストールされるときに使うgemコマンドのパスを指定するのに使ったりする.
109
+ * 通常(使わないとき)はChefが動作するときのRubyが使うgemにインストールされる.
110
+ * debパッケージでChefを入れた場合はdebパッケージに同梱されているgemにインストールされる.
111
+ * 自分のCookbookであればrbenv Cookbookのrbenv_gem Resourceを使えばいいでしょう.
112
+
113
+ = gem_binary
114
+
115
+ # Berksfile
116
+ cookbook "gem_binary",
117
+ github: "royratcliffe/gem_binary-cookbook"
118
+
119
+ # nodes/HOST.json
120
+ ...
121
+ "gem_binary": "/usr/bin/gem1.9.1",
122
+ ...
123
+
124
+ = ロカール関連
125
+ = ロカール関連
126
+
127
+ * ロカール関連Cookbook
128
+ * locale-gen ロカールの生成
129
+ * locales 設定変更
130
+ * ロカールがen-USになっているときにja_JP.UTF-8にするために使用する.
131
+ * 例えばどこかから拾ってきたVagrantのBoxがen-USになっているときとか.
132
+
133
+ = ロカール関連
134
+
135
+ # nodes/HOST.json
136
+ ...
137
+ "localegen": {
138
+ "lang": [
139
+ "ja_JP.UTF-8 UTF-8"
140
+ ]
141
+ },
142
+ "locales": {
143
+ "default": "ja_JP.UTF-8",
144
+ "available": [
145
+ "ja_JP.UTF-8 UTF-8"
146
+ ]
147
+ },
148
+ ...
149
+
150
+ = まとめ
151
+ = まとめ
152
+
153
+ * 他人のふんど^h^h^hCookbook怖くない.
154
+ * Serverspecでサーバの振舞いを記述すればよい.
155
+ * 自前で書いても数ヶ月・数年先には忘れる.
156
+ * README.mdに使い方書いてあるし,なかったらrecipe/default.rbとかを読めばおk
157
+ * 自分の管理ポリシーに合わせられなかったら合うように修正してより汎用的にできたらpull-requestしましょう.
158
+
159
+ = ご静聴ありがとうございました
@@ -0,0 +1,22 @@
1
+ ---
2
+ id: matsuerubykaigi05
3
+ base_name: chef_cookbooks
4
+ tags:
5
+ - chef
6
+ - provisioning
7
+ presentation_date: 2014-03-15
8
+ version: 2014.03.15.0
9
+ licenses:
10
+ - CC BY-SA 2.1 JP
11
+ slideshare_id:
12
+ speaker_deck_id:
13
+ ustream_id:
14
+ vimeo_id:
15
+ youtube_id:
16
+ author:
17
+ markup_language: :rd
18
+ name: Yuya.Nishida.
19
+ email: yuyaAT@ATj96DOT.DOTorg
20
+ rubygems_user: nishidayuya
21
+ slideshare_user:
22
+ speaker_deck_user: nishidayuya
metadata ADDED
@@ -0,0 +1,64 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-nishidayuya-matsuerubykaigi05
3
+ version: !ruby/object:Gem::Version
4
+ version: 2014.03.15.0
5
+ platform: ruby
6
+ authors:
7
+ - Yuya.Nishida.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ description: 使っていて便利だったCookbookの紹介です.
28
+ email:
29
+ - yuyaAT@ATj96DOT.DOTorg
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - .rabbit
35
+ - config.yaml
36
+ - Rakefile
37
+ - README.md
38
+ - chef_cookbooks.rab
39
+ - pdf/matsuerubykaigi05-chef_cookbooks.pdf
40
+ homepage: http://slide.rabbit-shocker.org/authors/nishidayuya/matsuerubykaigi05/
41
+ licenses:
42
+ - CC BY-SA 2.1 JP
43
+ metadata: {}
44
+ post_install_message:
45
+ rdoc_options: []
46
+ require_paths:
47
+ - lib
48
+ required_ruby_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ requirements: []
59
+ rubyforge_project:
60
+ rubygems_version: 2.0.6
61
+ signing_key:
62
+ specification_version: 4
63
+ summary: Chefを使うなら知っておいた方が便利なn個のCookbook
64
+ test_files: []