Submit Search
デプロイメントパイプラインって何?
16 likes
11,811 views
ke-m kamekoopa
社内LT用資料
Technology
Read more
1 of 26
Download now
Downloaded 30 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
More Related Content
PDF
大規模負荷テストの負荷かけ手法とトラブルシュート 〜JMeterとうまく付き合う方法〜
infinite_loop
PPTX
グラフ構造のデータモデルをPower BIで可視化してみた
CData Software Japan
PDF
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
PDF
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
PDF
知っているようで知らないPAMのお話
Serverworks Co.,Ltd.
PDF
とある診断員と色々厄介な脆弱性達
zaki4649
PDF
ドメイン駆動設計 本格入門
増田 亨
PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
大規模負荷テストの負荷かけ手法とトラブルシュート 〜JMeterとうまく付き合う方法〜
infinite_loop
グラフ構造のデータモデルをPower BIで可視化してみた
CData Software Japan
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
知っているようで知らないPAMのお話
Serverworks Co.,Ltd.
とある診断員と色々厄介な脆弱性達
zaki4649
ドメイン駆動設計 本格入門
増田 亨
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
What's hot
(20)
PPTX
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
abend_cve_9999_0001
PDF
AWS Black Belt Techシリーズ Amazon CloudSearch
Amazon Web Services Japan
PDF
XunitとMoq 公開用
ESM SEC
PDF
「情報」を「書く」ということ(仮) #RedmineJapan
Kazuhito Miura
PPTX
UTアンチパターン
ryoheiseki1
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
PDF
AWS CURのデータを安く楽に可視化して共有したい
Takayuki Ishikawa
PDF
Webアプリを並行開発する際のマイグレーション戦略
Takayuki Shimizukawa
PDF
今日からできる!簡単 .NET 高速化 Tips
Takaaki Suzuki
PPTX
GraphQLのsubscriptionで出来ること
Shingo Fukui
PDF
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
PDF
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
PPTX
Redisの特徴と活用方法について
Yuji Otani
PDF
30分でわかるマイクロサービスアーキテクチャ 第2版
Naoki (Neo) SATO
PDF
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
PDF
PostgreSQLアンチパターン
Soudai Sone
PDF
20230105_TITECH_lecture_ishizaki_public.pdf
Kazuaki Ishizaki
PDF
オブジェクト指向エクササイズのススメ
Yoji Kanno
PDF
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
PDF
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
abend_cve_9999_0001
AWS Black Belt Techシリーズ Amazon CloudSearch
Amazon Web Services Japan
XunitとMoq 公開用
ESM SEC
「情報」を「書く」ということ(仮) #RedmineJapan
Kazuhito Miura
UTアンチパターン
ryoheiseki1
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
AWS CURのデータを安く楽に可視化して共有したい
Takayuki Ishikawa
Webアプリを並行開発する際のマイグレーション戦略
Takayuki Shimizukawa
今日からできる!簡単 .NET 高速化 Tips
Takaaki Suzuki
GraphQLのsubscriptionで出来ること
Shingo Fukui
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
Redisの特徴と活用方法について
Yuji Otani
30分でわかるマイクロサービスアーキテクチャ 第2版
Naoki (Neo) SATO
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
PostgreSQLアンチパターン
Soudai Sone
20230105_TITECH_lecture_ishizaki_public.pdf
Kazuaki Ishizaki
オブジェクト指向エクササイズのススメ
Yoji Kanno
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
文字コードに起因する脆弱性とその対策(増補版)
Hiroshi Tokumaru
Ad
Similar to デプロイメントパイプラインって何?
(20)
PDF
ワンクリックデプロイ101 #ocdeploy
Ryutaro YOSHIBA
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
PDF
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
Takuma SHIRAISHI
PDF
継続的デリバリー読書会 第 7 章 コミットステージ
Yasutomo Arai
PDF
Trac Plugin Developement with Jenkins
Takahisa Wada
PDF
20121019 jenkins勉強会lt資料
Hiroko Tamagawa
PDF
継続的デリバリー読書会資料 #1
Yusuke HIDESHIMA
PDF
第2回関西ソーシャルゲーム勉強会
ha1t
PDF
作る人から作りながら運用する人になっていく
Ryo Mitoma
PPTX
Cibc lecture imagire
Takashi Imagire
KEY
継続的インテグレーションとテストの話
Preferred Networks
PDF
ビルドプロセスとCI #STAC2014
Koji Hasegawa
PDF
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
PDF
第4回勉強会 単体テストのすすめ
hakoika-itwg
PDF
「継続的デリバリー」読書会 第3章 継続的デリバリー
Norikazu Hiraki
PPTX
Continuous delivery chapter13
favril1
PDF
Jenkinsで始める継続的デリバリーと実践の道程
Masanori Satoh
PDF
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
PPTX
テストしなイカ? Seleniumで自動ブラウザテスト
Ohishi Mikage
PPTX
Jenkinsを使おうよ
Yohei Oda
ワンクリックデプロイ101 #ocdeploy
Ryutaro YOSHIBA
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
継続的デリバリー読書会 第 5 章 デプロイメントパイプラインの解剖学
Takuma SHIRAISHI
継続的デリバリー読書会 第 7 章 コミットステージ
Yasutomo Arai
Trac Plugin Developement with Jenkins
Takahisa Wada
20121019 jenkins勉強会lt資料
Hiroko Tamagawa
継続的デリバリー読書会資料 #1
Yusuke HIDESHIMA
第2回関西ソーシャルゲーム勉強会
ha1t
作る人から作りながら運用する人になっていく
Ryo Mitoma
Cibc lecture imagire
Takashi Imagire
継続的インテグレーションとテストの話
Preferred Networks
ビルドプロセスとCI #STAC2014
Koji Hasegawa
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
第4回勉強会 単体テストのすすめ
hakoika-itwg
「継続的デリバリー」読書会 第3章 継続的デリバリー
Norikazu Hiraki
Continuous delivery chapter13
favril1
Jenkinsで始める継続的デリバリーと実践の道程
Masanori Satoh
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
テストしなイカ? Seleniumで自動ブラウザテスト
Ohishi Mikage
Jenkinsを使おうよ
Yohei Oda
Ad
More from ke-m kamekoopa
(16)
PDF
Kvwatcher
ke-m kamekoopa
PDF
PyKon JP 2014
ke-m kamekoopa
PDF
Scala.js
ke-m kamekoopa
PDF
SQLアンチパターン - ナイーブツリー
ke-m kamekoopa
PDF
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
PDF
設計してますか?
ke-m kamekoopa
PDF
Interlli jとplayとjavaとscala
ke-m kamekoopa
PDF
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
ke-m kamekoopa
PDF
デプロイツールFabric
ke-m kamekoopa
PDF
Playで作るwebsocketサーバ
ke-m kamekoopa
PDF
ぎっとの「ぎ」
ke-m kamekoopa
PDF
# Rabbitサンプル
ke-m kamekoopa
PDF
継続的にデリバリーって何?
ke-m kamekoopa
PDF
Play frameworkをエヴァンジェる
ke-m kamekoopa
PDF
Php5.4
ke-m kamekoopa
PPT
Test
ke-m kamekoopa
Kvwatcher
ke-m kamekoopa
PyKon JP 2014
ke-m kamekoopa
Scala.js
ke-m kamekoopa
SQLアンチパターン - ナイーブツリー
ke-m kamekoopa
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
設計してますか?
ke-m kamekoopa
Interlli jとplayとjavaとscala
ke-m kamekoopa
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
ke-m kamekoopa
デプロイツールFabric
ke-m kamekoopa
Playで作るwebsocketサーバ
ke-m kamekoopa
ぎっとの「ぎ」
ke-m kamekoopa
# Rabbitサンプル
ke-m kamekoopa
継続的にデリバリーって何?
ke-m kamekoopa
Play frameworkをエヴァンジェる
ke-m kamekoopa
Php5.4
ke-m kamekoopa
Test
ke-m kamekoopa
デプロイメントパイプラインって何?
1.
デプロイメントパイプライン
ってなに? ~Jenkinsおじさんと遊んでみた編~
2.
前回のおさらい
3.
継デリってなに • 継続的に価値を提供し続ける テスト自動化だけじゃダメ
デプロイコマンドだけでもダメ リリースプロセスの自動化までやろう デプロイメントパイプライン
4.
継デリってなに • 継続的に価値を提供し続ける テスト自動化だけじゃダメ
デプロイコマンドだけでもダメ リリースプロセスの自動化までやろう デプロイメントパイプライン
5.
今回はでぷぱいの話をします
6.
コミットステージ コンパイル
単体テスト コード解析 前回からの引用 自動受入れテストステージ 自動受け入れテスト 手動テストステージ ユーザ受け入れテスト 探索的テスト 本番リリース
7.
じっさいには
8.
コミットのたびに実行される
コンパイル 単体テスト コード解析 こんな感じが 実行に 比較的時間のかかるもの ありそう 自動受け入れテスト 手動テスト 評価環境リリース キャパテスト ユーザ受け入れテスト いわゆるステージング 負荷テスト 探索的テスト 長期稼動テスト 本番リリース
9.
えっ…大変そう…。
10.
実際そこそこ大変です。
11.
もっともありがちな 以下のステージを見てみましょう コミットのたびに実行される コンパイル 単体テスト コード解析 実行に 比較的時間のかかるもの 自動受け入れテスト 評価環境リリース いわゆるステージング 本番リリース
12.
コミットステージ コミットのたびに実行される コンパイル
単体テスト コード解析 コミットのたびに実行される パイプラインの入り口ステージをコミットステージと呼びます •主に開発者テストの領域 •コミット前にローカルでも実施しましょう •バンバン叩かれるしバンバン動くステージ •ここが遅いとうんざり具合半端ない •長くても数分以内に終了するようにしましょう
13.
自動受け入れテストステージ 実行に 比較的時間のかかるもの 自動受け入れテスト 実行に比較的時間がかかるものはステージを分けます 受け入れテストは比較的時間がかかるケースが多いので ステージを分けて作られることが多いようです •顧客テストとしての色が強くなる •とはいえリグレッションテスト色も強い •CIサーバ上で動かす場合もあれば •専用サーバにデプロイしてから実行されることも •ここを突破できるビルドは多分リリースできる
14.
ステージングリリース 評価環境リリース いわゆるステージング 擬似本番環境へのリリース 人間による探索的テストなんかをやったりします。 •顧客テストの領域 •最終関門 •専用サーバにデプロイしてから実行されることがほとんど •ここを突破すればさぁリリース
15.
本番リリース 本番リリース お疲れ様でした。 飲み行きましょう、飲みに。
16.
さて、でぷぱいを作る上で いくつか気をつけることがあります。
17.
ビルドは1回! •
コミットステージで1回だけ • 受け入れテストや • 本番リリースも • 最初に作ったバイナリを持ちまわる
18.
なんで? 1. 都度ビルドは時間がかかる 2. 問題が起きた時の切り分けが楽
– バイナリに差異がなければ – 問題は設定のほう 3. デプロイが楽 あれ、でも設定ファイルの切り替えは?
19.
• アプリ内には設定へのポインタだけを含め
るようにする • 環境変数とか • 出来れば設定は別で管理できるといい – 往々にしてアプリと設定は変化するスピード が違うので • Mavenのprofileの仕組みはこの方針に 合ってなかったりする – Classpath経由で設定ファイル食わせるとか、 やり方はいろいろあります
20.
ビルドとデプロイは分ける • ビルド(自動テスト)スクリプトとデプロイ
用スクリプトは分ける • あるいは単独で実行できるようにする
21.
なんで? 1. 時間がかk(ry 2. 「ビルドは1回」に反する 3.
前述のでぷぱいの図より – 場合に応じていろんな環境にデプロイする – でぷぱいの保守拡張が – すごく楽になる。
22.
ビルドは1回 ビルドとデプロイは分ける を実施すると… •動くと保証されたバイナリを •すばやく •いろんな環境に •デプロイ出来るようになります
23.
という感じのものを Jenkinsおじさんで遊びながら作ってみました
24.
※デモ※
25.
うまくでぷぱいが実装できると • どのコミットがどのビルドに紐付いてて • どのビルドがパイプラインをどこまでク
リアしていて • 必要な関門をクリアしたビルドなら • 1クリックで好きな環境にデプロイできる • 本番リリースはそのうちの1つでしかない
26.
おわり。
Download