SlideShare a Scribd company logo
1 of 105
Download to read offline
14年2月16日日曜日

1
こんな経験
ありませんか?
14年2月16日日曜日

2
「XXの運用作業お願い」

14年2月16日日曜日

3
「はーい!」

14年2月16日日曜日

4
とは言ったものの
やったことないから
前の手順を探してみるかー

14年2月16日日曜日

5
それっぽいのあった!!

14年2月16日日曜日

6
とりあえず
参考にしながら
やってみるお!!

14年2月16日日曜日

7
「あれ!?」
14年2月16日日曜日

8
パス違うじゃん

14年2月16日日曜日

9
「あれ!?」
14年2月16日日曜日

10
コマンド打ったけど
この結果でいいの?

14年2月16日日曜日

11
「あれ!?」
14年2月16日日曜日

12
このコマンド
何したいんだろう?

14年2月16日日曜日

13
!?
14年2月16日日曜日

14
14年2月16日日曜日

15
みなさんが怒りのあまり
武丸さんにならない為に

14年2月16日日曜日

16
うわ・・・
私の手順書、
しょぼすぎ!?
>>あなたの手順スキルは?

ってならない為に
14年2月16日日曜日

17
リリース手順書の
最低限のマナーについて

14年2月16日日曜日

18
マジメに
お話ししてみます。

14年2月16日日曜日

19
題しまして、

14年2月16日日曜日

20
Clean
クリーンリリースマニュアル

TAKAKING22 著
及部敬雄 訳

Release Manual

β
http://www.flickr.com/photos/16983197@N06/6806402045/
14年2月16日日曜日

21
この話のターゲットは

全員
14年2月16日日曜日

22
リリース手順書を
書く書かないではなく、

14年2月16日日曜日

23
他人と働く上で
大切なポイントは同じ
ハズ
14年2月16日日曜日

24
他人と働く上で
大切なポイントは同じ
そもそもプロダクトコード書いてて
プロダクトをリリースできないって・・・(ry

14年2月16日日曜日

25
1.リリース手順書
- 定義と心構え http://www.flickr.com/photos/16983197@N06/6806402045/
14年2月16日日曜日

26
の前に 手順書 とは?

14年2月16日日曜日

27
手順書=マニュアル
ある条件に対応する方法を
 知らない者(初心者)に対して
 示し、教えるための文書である
/ wikipedia先生

14年2月16日日曜日

28
手順書=マニュアル
ある条件に対応する方法を
 知らない者(初心者)に対して
 示し、教えるための文書である
/ wikipedia先生

14年2月16日日曜日

29
手順書
14年2月16日日曜日

30
手順書には相手がいる

14年2月16日日曜日

31
そしてその相手は
入社してきたばかりの
新人かもしれない
14年2月16日日曜日

32
次の●●に当てはまる
言葉を答えなさい

14年2月16日日曜日

33
リリース●●
本番●●
運用●●
14年2月16日日曜日

34
リリース作業
本番作業
運用作業
14年2月16日日曜日

35
作業
14年2月16日日曜日

36
作業と仕事の違い

14年2月16日日曜日

37
作業は与えられた指示に
そって何かを行うこと
仕事は目的があり
その目的の達成のために
考えて行動すること
14年2月16日日曜日

38
作業は、
考えなくてもできる
(ようにすべき)
14年2月16日日曜日

39
作業は、
ロボットでもできる
だから自動化できる
14年2月16日日曜日

40
リリース手順書
14年2月16日日曜日

41
作業者が初心者でも、
考えずに作業が実施
できるように文書化
したもの
14年2月16日日曜日

42
14年2月16日日曜日

43
14年2月16日日曜日

44
2.リリース手順書
の必要条件
http://www.flickr.com/photos/16983197@N06/6806402045/
14年2月16日日曜日

45
以下でリリースできること
takaking22MacBookPro:work oyobe$ ls -la
total 8
drwxr-xr-x 3 oyobe staff 102 1 29 06:31 ./
drwx------@ 30 oyobe staff 1020 1 29 06:30 ../
-rw-r--r-- 1 oyobe staff 53 1 29 06:31 release_manual.txt
takaking22MacBookPro:work oyobe$ chmod 744 release_manual.txt
takaking22MacBookPro:work oyobe$ ls -la
total 8
drwxr-xr-x 3 oyobe staff 102 1 29 06:31 ./
drwx------@ 30 oyobe staff 1020 1 29 06:30 ../
-rwxr--r-- 1 oyobe staff 53 1 29 06:31 release_manual.txt*
takaking22MacBookPro:work oyobe$ ./release_manual.txt
Releasing now....
Release complete!!

14年2月16日日曜日

46
以下でリリースできること
takaking22MacBookPro:work oyobe$ ls -la
total 8
drwxr-xr-x 3 oyobe staff 102 1 29 06:31 ./
drwx------@ 30 oyobe staff 1020 1 29 06:30 ../
-rw-r--r-- 1 oyobe staff 53 1 29 06:31 release_manual.txt
takaking22MacBookPro:work oyobe$ chmod 744 release_manual.txt

手順書に
実行権限つけて、

takaking22MacBookPro:work oyobe$ ls -la
total 8
drwxr-xr-x 3 oyobe staff 102 1 29 06:31 ./
drwx------@ 30 oyobe staff 1020 1 29 06:30 ../
-rwxr--r-- 1 oyobe staff 53 1 29 06:31 release_manual.txt*
takaking22MacBookPro:work oyobe$ ./release_manual.txt
Releasing now....
Release complete!!

14年2月16日日曜日

実行したら
リリースできる!

47
ここまでは言いません
が、最低でも・・・

14年2月16日日曜日

48
リリース手順書の必要条件
上から下まで
コピペして実行するだけの
簡単な作業をすれば
リリースが完了すること
14年2月16日日曜日

49
必要条件を満たしてない
パスミス
実行できない
意図がわからない
14年2月16日日曜日

50
めんどくせーなー
自動化すればいいじゃん
って思ってるあなた

14年2月16日日曜日

51
その通り!!

14年2月16日日曜日

52
でも自動化するってことは
ひらたく言えば、

14年2月16日日曜日

53
こういう手順が作れること
takaking22MacBookPro:work oyobe$ ls -la
total 8
drwxr-xr-x 3 oyobe staff 102 1 29 06:31 ./
drwx------@ 30 oyobe staff 1020 1 29 06:30 ../
-rw-r--r-- 1 oyobe staff 53 1 29 06:31 release_manual.txt
takaking22MacBookPro:work oyobe$ chmod 744 release_manual.txt

手順書に
実行権限つけて、

takaking22MacBookPro:work oyobe$ ls -la
total 8
drwxr-xr-x 3 oyobe staff 102 1 29 06:31 ./
drwx------@ 30 oyobe staff 1020 1 29 06:30 ../
-rwxr--r-- 1 oyobe staff 53 1 29 06:31 release_manual.txt*
takaking22MacBookPro:work oyobe$ ./release_manual.txt
Releasing now....
Release complete!!

14年2月16日日曜日

実行したら
リリースできる!

54
リリース手順書が
まともに書けない輩は

14年2月16日日曜日

55
自動化って軽々しく言うな
自
動
化

14年2月16日日曜日

56
3.リリース手順書
を書く(基本編)
http://www.flickr.com/photos/16983197@N06/6806402045/
14年2月16日日曜日

57
基本はたった1つ

14年2月16日日曜日

58
1. 変化前のチェック
2. 変化
3. 変化後のチェック

14年2月16日日曜日

59
ディレクトリの移動
pwd
# /home/oyobe であること

変化前のチェック
(現在地の確認)

cd /home/oyobe/work

変化
(移動する)

pwd
# /home/oyobe/work であること

変化後のチェック
(現在地が変わった)

14年2月16日日曜日

60
ファイル新規生成
ls -la hogehoge
# hogehoge が存在しないこと

変化前のチェック
(ファイル存在ない)

touch hogehoge

変化
(ファイルをつくる)

ls -la hogehoge
# hogehoge が存在すること

変化後のチェック
(ファイルが存在する)

14年2月16日日曜日

61
ファイル更新
diff hogehoge2 hogehoge
変化前のチェック
# 以下の差分があること
(差分があること)
# 3d2
# < Tommorow, we can see his magic!!
cp hogehoge2 hogehoge
diff hogehoge2 hogehoge
# 差分がないこと

14年2月16日日曜日

変化
(ファイルを更新)
変化後のチェック
(差分が無いこと)

62
crontab更新
crontab -l ¦ diff crontab.new # 以下の差分があること
# 5d4
# < * * * * * /etc/OsakiMagic.sh

変化前のチェック
(差分があること)

crontab crontab.new

変化
(crontabを更新)
変化後のチェック
(差分が無いこと)

crontab -l ¦ diff crontab.new # 差分がないこと

14年2月16日日曜日

63
この繰り返しで
リリースできるハズ

14年2月16日日曜日

64
だからこれだけは、
1. 変化前のチェック
2. 変化
3. 変化後のチェック

絶対にさぼらない!!
14年2月16日日曜日

65
意図を持って書く

14年2月16日日曜日

66
•
•
•

意図を持つ

期待値の明記
コマンドのオプション
絶対パス/相対パス

14年2月16日日曜日

67
•
•
•

意図を持つ

期待値の明記
コマンドのオプション
絶対パス/相対パス

14年2月16日日曜日

68
期待値を明記する
pwd
# /home/oyobe であること
ls -la hogehoge
# hogehogeが存在すること
# ファイル権限が744であること
crontab -l ¦ diff crontab.new # 以下の差分があること
# 5d4
# < * * * * * /etc/OsakiMagic.sh

14年2月16日日曜日

# 始まりで書けば、
間違って実行しても大丈夫
期待値を誰が見ても
迷わないように書く
差分を書いてあげると
迷わないよね!

69
•
•
•

意図を持つ

期待値の明記
コマンドのオプション
絶対パス/相対パス

14年2月16日日曜日

70
コマンドのオプション
cp -p hogehoge
cp -i hogehoge
ls -ld

/work/
/work/

/work

diff -r foo bar
rm -rf hogehoge

全部わかりますか?
14年2月16日日曜日

71
コマンドのオプション
cp -p hogehoge
cp -i hogehoge
ls -ld

/work

diff -r foo bar
rm -rf hogehoge

14年2月16日日曜日

/work/
/work/

権限、タイムスタンプそのまま
更新の場合、確認あり
ディレクトリの詳細情報
ディレクトリの差分確認
ディレクトリ強制消去

72
暗記しなくていいけど
オプションは
意図して選択する
14年2月16日日曜日

73
•
•
•

意図を持つ

期待値の明記
コマンドのオプション
絶対パス/相対パス

14年2月16日日曜日

74
絶対パス / 相対パス
cd /home/oyobe/work

cd ./work

14年2月16日日曜日

75
絶対パス / 相対パス
cd /home/oyobe/work

絶対パス

現在地を気にせずに使える

cd ./work

相対パス

現在地を気にして使う

14年2月16日日曜日

76
絶対パス / 相対パス
rm -rf ${WORK_DIR}/*

環境変数の設定を間違えると思わぬものが
消えるかも
rm -rf ./work/*

もし現在地を間違えても
同じディテクトリ名がなければ消えない

14年2月16日日曜日

77
リハーサルは必須

14年2月16日日曜日

78
ここまでは最低限

14年2月16日日曜日

79
+α

14年2月16日日曜日

80
手順書には相手がいる
リリーサー?
チームメンバー?
レビュワー?
未来の後輩?
14年2月16日日曜日

81
相手 のことを考えて
リーダブルに
シンプルに書く
14年2月16日日曜日

82
インデントをそろえる
diff -br /foo/bar/test /yama/kawa/
# 差分があること
cp -p /foo/bar/test /yama/kawa/.
diff -br /foo/bar/test /yama/kawa/
# 差分が無いこと

読みやすいし、
パスを間違えてたら一目でわかる

14年2月16日日曜日

83
長過ぎるパスをまとめる
bash
export WORK_TIME=`date +%Y%m%d`
export WORK_DIR=${HOME}/work/${WORK_TIME}
export APP_BASE_DIR=/usr/local/rms/jerry/recipe
diff -br ${WORK_DIR}/test ${APP_BASE_DIR}/hoge/
# 差分があること
cp -i
${WORK_DIR}/test ${APP_BASE_DIR}/hoge/
diff -br ${WORK_DIR}/test ${APP_BASE_DIR}/hoge/
# 差分が無いこと

文字数が減る、画面幅におさまる

14年2月16日日曜日

84
お・も・い・や・り

14年2月16日日曜日

85
4.リリース手順書
を書く(応用編)
http://www.flickr.com/photos/16983197@N06/6806402045/
14年2月16日日曜日

86
5.こんな手順は
いやだ(実例)
http://www.flickr.com/photos/16983197@N06/6806402045/
14年2月16日日曜日

87
【正式版】
Clean Release Manual

乞うご期待!!
14年2月16日日曜日

88
5.読者の皆様へ
http://www.flickr.com/photos/16983197@N06/6806402045/
14年2月16日日曜日

89
機械との競争
エリック・プリニョルフソン、
アンドリュー・マカフィー共著
日経BP社出版

http://www.amazon.co.jp/gp/product/4822249212/
14年2月16日日曜日

90
Race against the Machine
(機械との競争)に希望はなく、
Race with the Machine
(機械をもってする競争)へと
考えを転換する必要がある
/ 機械との競争

14年2月16日日曜日

91
サービス指向
スタートアップ指向
も重要
14年2月16日日曜日

92
リリース自動化
Continuous Delivery
も大事
14年2月16日日曜日

93
でもその前に

14年2月16日日曜日

94
あなたの書いた手順書
は大丈夫ですか?

14年2月16日日曜日

95
相手のことを考えて

14年2月16日日曜日

96
一緒に働いてる仲間や
未来の後輩のために

14年2月16日日曜日

97
キレイでシンプルな
リリース手順書を
書くことができる
14年2月16日日曜日

98
リリースを
当たり前にして
プロダクトの価値
の最大化に注力できる
14年2月16日日曜日

99
それができてこそ
サービサー
じゃないでしょうか?
14年2月16日日曜日

100
作業を当たり前にして
自動化して楽をして
次の新しい事に挑戦する
14年2月16日日曜日

101
それができてこそ
エンジニア
じゃないでしょうか?
14年2月16日日曜日

102
あなたも書こう!

14年2月16日日曜日

103
Clean
クリーンリリースマニュアル

TAKAKING22 著
及部敬雄 訳

Release Manual

http://www.flickr.com/photos/16983197@N06/6806402045/
14年2月16日日曜日

104
●楽天株式会社開発ユニット
●新サービス開発・運用1課
@TAKAKING22 ●歌って踊れるエンジニア
●アイドル、アニメに精通

及部 敬雄
14年2月16日日曜日

105

More Related Content

More from Takao Oyobe

20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devloveTakao Oyobe
 
20141105 俺のコードレビュー(lightning talk) #devraku
20141105 俺のコードレビュー(lightning talk) #devraku20141105 俺のコードレビュー(lightning talk) #devraku
20141105 俺のコードレビュー(lightning talk) #devrakuTakao Oyobe
 
20141105 俺のコードレビュー(opening) #devraku
20141105 俺のコードレビュー(opening) #devraku20141105 俺のコードレビュー(opening) #devraku
20141105 俺のコードレビュー(opening) #devrakuTakao Oyobe
 
20141028 lightning talk at staff party of rtc48
20141028 lightning talk at staff party of rtc4820141028 lightning talk at staff party of rtc48
20141028 lightning talk at staff party of rtc48Takao Oyobe
 
つくる現場 - 変化を支える3つの現場アーキテクト -
つくる現場 - 変化を支える3つの現場アーキテクト -つくる現場 - 変化を支える3つの現場アーキテクト -
つくる現場 - 変化を支える3つの現場アーキテクト -Takao Oyobe
 
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -Takao Oyobe
 
はじめてのふりかえり
はじめてのふりかえりはじめてのふりかえり
はじめてのふりかえりTakao Oyobe
 
振り返ればカンバンがある ~チームとカンバンとProduct Ownership~
振り返ればカンバンがある ~チームとカンバンとProduct Ownership~振り返ればカンバンがある ~チームとカンバンとProduct Ownership~
振り返ればカンバンがある ~チームとカンバンとProduct Ownership~Takao Oyobe
 
えんじにあというおしごと
えんじにあというおしごとえんじにあというおしごと
えんじにあというおしごとTakao Oyobe
 
secret base~jeff pattonがくれたもの~
secret base~jeff pattonがくれたもの~secret base~jeff pattonがくれたもの~
secret base~jeff pattonがくれたもの~Takao Oyobe
 
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~Takao Oyobe
 
Fearless Change - Agile2012 feedback report -
Fearless Change - Agile2012 feedback report -Fearless Change - Agile2012 feedback report -
Fearless Change - Agile2012 feedback report -Takao Oyobe
 
アジャイルペーペーシップとチーム改革
アジャイルペーペーシップとチーム改革アジャイルペーペーシップとチーム改革
アジャイルペーペーシップとチーム改革Takao Oyobe
 
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -Takao Oyobe
 
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -Takao Oyobe
 

More from Takao Oyobe (15)

20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove
 
20141105 俺のコードレビュー(lightning talk) #devraku
20141105 俺のコードレビュー(lightning talk) #devraku20141105 俺のコードレビュー(lightning talk) #devraku
20141105 俺のコードレビュー(lightning talk) #devraku
 
20141105 俺のコードレビュー(opening) #devraku
20141105 俺のコードレビュー(opening) #devraku20141105 俺のコードレビュー(opening) #devraku
20141105 俺のコードレビュー(opening) #devraku
 
20141028 lightning talk at staff party of rtc48
20141028 lightning talk at staff party of rtc4820141028 lightning talk at staff party of rtc48
20141028 lightning talk at staff party of rtc48
 
つくる現場 - 変化を支える3つの現場アーキテクト -
つくる現場 - 変化を支える3つの現場アーキテクト -つくる現場 - 変化を支える3つの現場アーキテクト -
つくる現場 - 変化を支える3つの現場アーキテクト -
 
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
アジャイルサムライ壱の太刀 - 説得しないはじめないアジャイル開発のはじめ形 -
 
はじめてのふりかえり
はじめてのふりかえりはじめてのふりかえり
はじめてのふりかえり
 
振り返ればカンバンがある ~チームとカンバンとProduct Ownership~
振り返ればカンバンがある ~チームとカンバンとProduct Ownership~振り返ればカンバンがある ~チームとカンバンとProduct Ownership~
振り返ればカンバンがある ~チームとカンバンとProduct Ownership~
 
えんじにあというおしごと
えんじにあというおしごとえんじにあというおしごと
えんじにあというおしごと
 
secret base~jeff pattonがくれたもの~
secret base~jeff pattonがくれたもの~secret base~jeff pattonがくれたもの~
secret base~jeff pattonがくれたもの~
 
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
20121021 Lean!! Lean!! Lean!! ~DevLOVEと現場と私~
 
Fearless Change - Agile2012 feedback report -
Fearless Change - Agile2012 feedback report -Fearless Change - Agile2012 feedback report -
Fearless Change - Agile2012 feedback report -
 
アジャイルペーペーシップとチーム改革
アジャイルペーペーシップとチーム改革アジャイルペーペーシップとチーム改革
アジャイルペーペーシップとチーム改革
 
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
 
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB -
 

(Beta)clean release manual