Text
Page: 2
こんにちは
にくです
コンサドーレ札幌が好きです
@niku̲name
http://niku.name/
Page: 3
コンサドーレホーム開幕戦情
報
3/9(⽇)13:00 @ 札幌ドーム vs モン
テディオ⼭形
Page: 4
ひでおとは
「ひ」とり
「で」ぶ(Dev)
「お」ぷす(Ops)
Page: 5
ひとりとは
ひとりです
開発してもひとり
運用してもひとり
Page: 6
DevOpsおさらい
“Dev”elopment(開発)
“Op”eration(運用)
を繋いだ⾔葉です
Page: 7
DevOpsってなんなの
開発「(多少動かなくても)機
能をのせていきたい」
運用「(多少機能が少なくて
も)ちゃんと動くようにした
い」
開発と運用はあんまり相性がよく
ないようにみえる
Page: 8
DevもOpsも向かう先は⼀緒
だった
開発「(プロダクトをよりよく
するため)(多少動かなくて
も)機能をのせていきたい」
運用「(プロダクトをよりよく
するため)(多少機能が少なく
ても)ちゃんと動くようにした
い」
Page: 9
プロダクトをよりよくする
プロダクト全体の最適化
全体を良くするにはお互いを理
解する
Page: 10
DevOpsは壮大なストーリー
大きすぎて今回はうまく話せな
いことがわかった
すまん
Page: 11
ひでお
ひとりで開発と運用をやるので
お互いは理解できている
プロダクトをよりよくするため
運用の圧縮
⼈が増えたときのノウハウの共有
記憶や⼿順書からの脱却
Page: 12
ひでお(旅⽴ち編)
CI環境作るためのツール
VirtualBox
Vagrant
Packer
Chef
Page: 13
ケース
ソースコードをGithubに置ける
ソースコードをGithubに置けな
い
Page: 14
ソースコードをGithubに置
ける
Github連携サービスを使おう
Travis CI
Circle CI
サービスの⾯倒をみなくていい
おすすめ
Page: 15
ソースコードをGithubに置
けない
Jenkinsを使おう
⾯倒をみないといけない
運用の⼿間を減らすために運用
対象を増やすの?
Page: 16
既にJenkinsが使える
おめでとう!
使い倒そう
Page: 17
サーバーあるけどJenkins⼊
ってない
https://wiki.jenkins-ci.org/
display/JENKINS/Installing
+Jenkins#InstallingJenkins-Unix
%2FLinuxInstallation
Page: 18
サーバーがない
仮想環境に作ろう
実際のサーバー用意するより作ったり
壊したりが簡単
Page: 19
仮想環境を作る
必要なもの
自分のPC
仮想化ソフト
インストールしたことある⼈に聞ける
環境か調べる根性
Page: 20
仮想化ソフト
インストーラーでインストール
できる
VirtualBox
https://www.virtualbox.org/
VMWare Fusion(Mac) / VMWare
Player(Windows)
https://my.vmware.com/jp/
Page: 21
仮想化環境を作ろう
仮想化ソフトとは,使っていな
いPC(ハードウェア)のような
もの
中⾝(OS)をインストールする
Page: 22
CI(Jenkins)を⼊れる
https://wiki.jenkins-ci.org/
display/JENKINS/Installing
+Jenkins#InstallingJenkins-Unix
%2FLinuxInstallation
Page: 23
仮想化環境でのCIできた
もっともっと
簡単にノウハウを配布したい
記憶や⼿順書からの脱却
Page: 24
Vagrant
http://www.vagrantup.com/
Vagrantfileに設定を書く
あらかじめ仮想化してある環境(Box)
の取得
↑の環境へ事前処理(Provision)を適
用
仮想環境の起動/終了を簡単なコ
マンドから
Page: 25
Vagrantのインストール
インストーラーで簡単にインス
トールできる
http://www.vagrantup.com/
downloads.html
Windows/OSX/Debian/RHEL
Page: 27
帰ったらやってみよう
Vagrant
Vagrantfileを書いて
vagrant up
ブラウザからJenkinsにアクセス
できる
Page: 28
帰ったらやってみよう
Vagrant(2)
いるもの
VirtualBox
Vagrant
Page: 29
帰ったらやってみよう
Vagrant(3)
Page: 30
Vagrantでノウハウの配布
できた
けど
「誰か」があらかじめ作ってくれた
Boxを使っている
それエンタープライズでも同じこと⾔
えんの?
Page: 31
Vagrantの課題解消
もっともっと
Boxも自分で作れるようになり
たい
http://docs.vagrantup.com/
v2/boxes/base.html
Page: 32
Packer
http://www.packer.io/
Template(JSON)に設定を書く
OSのインストールCD/DVDを取得
OSの自動インストール
環境に処理を適用
Page: 33
OSの自動インストール
(Debian)
Debian => preseed.cfg
http://www.debian.org/
releases/wheezy/mipsel/
apbs01.html.ja
Page: 34
OSの自動インストール(Red
Hat Enterprise Linux)
RHEL => kickstart
https://access.redhat.com/
site/documentation/ja-JP/
Red̲Hat̲Enterprise̲Linux/6/
html/Installation̲Guide/ch-
kickstart2.html
Page: 35
OSの自動インストール
(Windows)
Windows =>
Autounattend.xml
http://
technet.microsoft.com/ja-jp/
library/cc749415%
28v=ws.10%29.aspx
Page: 36
Packerのインストール
http://www.packer.io/docs/
installation.html
ファイルを1つダウンロードして
パス通すだけ
Page: 38
Packerのテンプレート作る
のつらそう
「Packerを使ってVagrantの
Boxを作る⽅法を⼀つずつ説明
する」という良いコンテンツが
ある
[packer vagrant] で検索
Page: 39
帰ったらやってみよう
Packer
コマンドが終わったらDebianベ
ースでVagrantに取り込めるBox
ができている
Page: 40
帰ったらやってみよう
Packer(2)
いるもの
VirtualBox
Packer
Page: 41
帰ったらやってみよう
Packer(3)
Page: 42
Vagrantでやってたこと
あらかじめ仮想化してある環境
(Box)の取得
↑の環境へ事前処理(Provision)
を適用
Boxの取得はできた
Page: 43
サーバーへの処理をShellで
やるとしんどなってくる
パッケージ化されていないもの
やソースから最新版を⼊れてメ
ンテすること
設定ファイルの内容を書くこと
何回も動かしても大丈夫なよう
にすること
Page: 44
Chef(Chef Solo)
http://www.getchef.com/
サーバーが「こうあるべき」と
いうのを書いておく
「こうじゃないところ」を「こ
う」にしてくれる
「こう」になっているところは
変わらない
Page: 45
⼊門Chef Soloを読もう
全部書いてある
http://tatsu-zine.com/books/
chef-solo
Page: 46
帰ったらやってみようChef
(1)
サーバーが自分のidでログイン
できるようになっている
Ruby2.1.0が使えるようになっ
ている
Page: 47
帰ったらやってみようChef
(2)
いるもの
VirtualBox
Vagrant
git
Ruby実⾏環境
gem(knife-solo)
Page: 48
帰ったらやってみようChef
(3)
Page: 49
まとめ
VirtualBox 仮想化ツール
Vagrant 仮想環境をBoxと
Provisionから構築するツール
Packer Boxを作るツール
Chef Provision
Page: 50
宿題
Vagrant動かしてみる
Packer動かしてみる
Chef動かしてみる
Page: 51
俺たちのひでおはこれからだ
にく先⽣の次回作にご期待くださ
い