Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Yuuki Takezawa
PDF, PPTX
32,394 views
PHPデプロイツールの世界
PHPデプロイツールがどういう動作でタスクを処理するのか、 それぞれのデプロイツールがどんな並列処理を行うかにフォーカスを当てたスライドです。
Engineering
◦
Read more
32
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 42
2
/ 42
3
/ 42
4
/ 42
5
/ 42
6
/ 42
7
/ 42
8
/ 42
9
/ 42
10
/ 42
11
/ 42
12
/ 42
13
/ 42
14
/ 42
15
/ 42
16
/ 42
17
/ 42
18
/ 42
19
/ 42
20
/ 42
21
/ 42
22
/ 42
23
/ 42
24
/ 42
25
/ 42
26
/ 42
27
/ 42
28
/ 42
29
/ 42
30
/ 42
31
/ 42
32
/ 42
33
/ 42
34
/ 42
35
/ 42
36
/ 42
37
/ 42
38
/ 42
39
/ 42
40
/ 42
41
/ 42
42
/ 42
More Related Content
PDF
DatadogでAWS監視やってみた
by
tyamane
PPTX
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
PDF
5分で分かるアジャイルムーブメントの歴史 拡大版
by
Fumihiko Kinoshita
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
by
Takeshi HASEGAWA
PPTX
Stock prediction
by
tetsuo ishigaki
PPTX
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
by
daisuke-a-matsui
PPTX
データサイエンティスト養成読本の解説+書き忘れたこと
by
Tokoroten Nakayama
PDF
イミュータブルデータモデル(世代編)
by
Yoshitaka Kawashima
DatadogでAWS監視やってみた
by
tyamane
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
5分で分かるアジャイルムーブメントの歴史 拡大版
by
Fumihiko Kinoshita
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
by
Takeshi HASEGAWA
Stock prediction
by
tetsuo ishigaki
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
by
daisuke-a-matsui
データサイエンティスト養成読本の解説+書き忘れたこと
by
Tokoroten Nakayama
イミュータブルデータモデル(世代編)
by
Yoshitaka Kawashima
What's hot
PPTX
Gstreamer Basics
by
Seiji Hiraki
PPTX
Redis勉強会資料(2015/06 update)
by
Yuji Otani
PDF
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
by
Masaki Hayashi
PPTX
テスト設計技法の適用・・・その前に
by
kauji0522
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
PPTX
DockerコンテナでGitを使う
by
Kazuhiro Suga
PDF
マーブル図で怖くないRxJS
by
bitbank, Inc. Tokyo, Japan
PDF
SharePointリストのフォームのカスタマイズを利用したときにハマること
by
た な
PDF
Redmine にいろいろ埋め込んでみた
by
Kohei Nakamura
PPTX
位置データもPythonで!!!
by
hide ogawa
PPTX
DevOps勉強会
by
Shuntaro Saiba
PDF
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
by
SSII
PDF
例外設計における大罪
by
Takuto Wada
PDF
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
PPTX
Power BI Desktop こんな使い方してみた件
by
Teruchika Yamada
PDF
インフラ野郎Azureチーム Night
by
Toru Makabe
PPTX
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
by
Atsushi Nakamura
PDF
vSphere環境での自動化とテスト
by
富士通クラウドテクノロジーズ株式会社
PPTX
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
by
Takayuki Shimizukawa
PDF
ソフトウェアテスト入門
by
Preferred Networks
Gstreamer Basics
by
Seiji Hiraki
Redis勉強会資料(2015/06 update)
by
Yuji Otani
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
by
Masaki Hayashi
テスト設計技法の適用・・・その前に
by
kauji0522
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
DockerコンテナでGitを使う
by
Kazuhiro Suga
マーブル図で怖くないRxJS
by
bitbank, Inc. Tokyo, Japan
SharePointリストのフォームのカスタマイズを利用したときにハマること
by
た な
Redmine にいろいろ埋め込んでみた
by
Kohei Nakamura
位置データもPythonで!!!
by
hide ogawa
DevOps勉強会
by
Shuntaro Saiba
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
by
SSII
例外設計における大罪
by
Takuto Wada
フロー効率性とリソース効率性について #xpjug
by
Itsuki Kuroda
Power BI Desktop こんな使い方してみた件
by
Teruchika Yamada
インフラ野郎Azureチーム Night
by
Toru Makabe
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
by
Atsushi Nakamura
vSphere環境での自動化とテスト
by
富士通クラウドテクノロジーズ株式会社
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
by
Takayuki Shimizukawa
ソフトウェアテスト入門
by
Preferred Networks
Similar to PHPデプロイツールの世界
PDF
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
by
Toru Miki
PDF
採用LT「まだお祈りデプロイで消耗してるの?」
by
Takayuki Fukumoto
PDF
Application Deployment on AWS
by
Eiji Shinohara
PDF
anyenv + phpenv + php-build が便利すぎる件
by
y-uti
PDF
Jenkinsはじめました - Yahoo! JAPANのCI+CD -
by
Yahoo!デベロッパーネットワーク
PDF
Ansible ではじめるサーバ作業の自動化
by
Masashi Shinbara
POTX
決済金融から始めるデータドリブンカンパニー
by
Tokuhiro Eto
PDF
恋に落ちるデプロイツール
by
totty jp
PDF
決済金融から始めるデータドリブンカンパニー #yjmu
by
Yahoo!デベロッパーネットワーク
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
PDF
WordPress CI/CD 入門 ~ GitHub Actions と AWS CodePipeline で実現する自動デプロイ~
by
Wataru OKAMOTO
PDF
作る人から作りながら運用する人になっていく
by
Ryo Mitoma
PDF
Dive into the Cloud with our buddy, lovely PHP!
by
Sotaro Omura
PDF
GitHub + Circle CI で幸せになろう
by
Nobuhiro Ueda
KEY
Behat+Symfony2ではじめるBDD超入門
by
晃 遠山
PPTX
Capistrano introduction
by
Misa Kondo
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
by
Toru Miki
採用LT「まだお祈りデプロイで消耗してるの?」
by
Takayuki Fukumoto
Application Deployment on AWS
by
Eiji Shinohara
anyenv + phpenv + php-build が便利すぎる件
by
y-uti
Jenkinsはじめました - Yahoo! JAPANのCI+CD -
by
Yahoo!デベロッパーネットワーク
Ansible ではじめるサーバ作業の自動化
by
Masashi Shinbara
決済金融から始めるデータドリブンカンパニー
by
Tokuhiro Eto
恋に落ちるデプロイツール
by
totty jp
決済金融から始めるデータドリブンカンパニー #yjmu
by
Yahoo!デベロッパーネットワーク
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
WordPress CI/CD 入門 ~ GitHub Actions と AWS CodePipeline で実現する自動デプロイ~
by
Wataru OKAMOTO
作る人から作りながら運用する人になっていく
by
Ryo Mitoma
Dive into the Cloud with our buddy, lovely PHP!
by
Sotaro Omura
GitHub + Circle CI で幸せになろう
by
Nobuhiro Ueda
Behat+Symfony2ではじめるBDD超入門
by
晃 遠山
Capistrano introduction
by
Misa Kondo
More from Yuuki Takezawa
PDF
zend-expressiveを触ってみよう
by
Yuuki Takezawa
PDF
LaravelとMVCの先へ
by
Yuuki Takezawa
PDF
phpspecで始めるBDD
by
Yuuki Takezawa
PDF
Laravel5.1 Release
by
Yuuki Takezawa
PDF
Laravel / Lumen 次の一歩
by
Yuuki Takezawa
PDF
php開発で使うタスクランナー gulp
by
Yuuki Takezawa
PDF
PHP フィールドインジェクションに挑戦する PHP勉強会2014
by
Yuuki Takezawa
PDF
PHP&NewSQLで考える次世代アプリケーション
by
Yuuki Takezawa
PDF
Laravel meetup5(Laravel meet NewSQL/VoltDB )
by
Yuuki Takezawa
PDF
Laravel_オープンソースカンファレンスhokkaido_JP_2014
by
Yuuki Takezawa
PDF
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
by
Yuuki Takezawa
zend-expressiveを触ってみよう
by
Yuuki Takezawa
LaravelとMVCの先へ
by
Yuuki Takezawa
phpspecで始めるBDD
by
Yuuki Takezawa
Laravel5.1 Release
by
Yuuki Takezawa
Laravel / Lumen 次の一歩
by
Yuuki Takezawa
php開発で使うタスクランナー gulp
by
Yuuki Takezawa
PHP フィールドインジェクションに挑戦する PHP勉強会2014
by
Yuuki Takezawa
PHP&NewSQLで考える次世代アプリケーション
by
Yuuki Takezawa
Laravel meetup5(Laravel meet NewSQL/VoltDB )
by
Yuuki Takezawa
Laravel_オープンソースカンファレンスhokkaido_JP_2014
by
Yuuki Takezawa
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
by
Yuuki Takezawa
PHPデプロイツールの世界
1.
PHPデプロイツールの世界 2015/10/03 PHPカンファンレンス2015 yuuki takezawa
/ istyle inc
2.
Deploy?
3.
• ソースコードを本番環境などに設置 • ディレクトリなどに実行権限を与える •
キャッシュの削除 • 業務ルールに則った手順など デプロイ作業
4.
• FTPによる手動アップロード • リモートサーバ内のファイルを手動で削除 •
rsyncなどによるアップロード デプロイ方法
5.
PEAR -> Composer
6.
ライブラリなどは プロジェクト毎の管理へ変化
7.
進化するフロントエンド Grunt, Gulp
8.
etc…
9.
様々な手順が自動化
10.
• Composer、npm、bowerなどによる 依存ライブラリ管理 • フロントエンドタスクツール •
継続的インテグレーションによる自動テスト • 自動化によるヒューマンエラー防止 変わったもの
11.
デプロイも自動化
12.
Develop Testing Push Testing PHPUnit phpspec Behat Codeception Deploy Server staging production etc auto
13.
• ライブラリのインストール • フロントエンドタスク実行 •
複数のリモートサーバへ接続 • ローカルタスクの実行(rsyncなど) デプロイツール
14.
Capistrano (Ruby) Fabric (Python)
15.
PHPに統一したい 難しい etc…
16.
PHP Deploy Tool
17.
• Capistranoのようなデプロイツール Magallanes、Altax、Rocketeer、Deployer • リモートサーバタスクツール Robo、Envoy PHP
Deploy Tool / Task Tool
18.
• 良質なコンポーネント Symfony Component、 The
League of Extraordinary Packages etc… • 自由に組み合わせてツール、ライブラリ開発 • PHP-FIG Background
19.
これらを元に作られる デプロイツールの世界
20.
• コマンドを実行して構築される世界 • 対話型 •
処理の並列化 • 非同期処理 コンソールアプリケーション
21.
3つのツール • Envoy (http://laravel.com/docs/5.1/envoy) •
Deployer (http://deployer.org/) • Rocketeer (http://rocketeer.autopergamene.eu/)
22.
Envoy • リモートサーバタスクツール • リモートサーバで実行するコマンドを記述 •
Laravelのマニュアルに記述されていますが、 親和性はありません • デフォルトで利用できるタスクは用意されていないため、 利用するタスクを記述します • 並列実行をサポート
23.
Deployer • リモートサーバタスクツール • リモートサーバで実行するコマンドを記述 •
PHPの主なフレームワークに対応したタスクが あらかじめ用意されています • PHPに親しんでいる方であれば簡単に利用できます • 足りないタスクは自由に追加できます
24.
Rocketeer • Capistranoスタイルで高機能 • デプロイタスクが用意されています •
composerやnpmコマンドなどデフォルトで対応 • Laravelのパッケージとしても利用されるため サービスロケータを多用しているため、少し複雑 • Capistranoのようにある程度学習する必要が有ります
25.
Task実行までのアプローチ
26.
• タスクを記述したファイルを コンパイル(通常のPHPコードへ変換) • タスク毎にリモートサーバへ •
symfony/processによる接続 • コマンドを実行 Envoyのアプローチ
27.
Console boot Envoy.blade.php Compile Envoy.php (array) connect Task
28.
• タスクを記述したファイルを読み込む • タスク毎にリモートサーバへ接続 •
phpseclib/phpseclibによる接続 • コールバックでコマンドを実行 Deployerのアプローチ
29.
Console boot deploy.php(default) collection connect Task
30.
• サービスをコンテナへ登録し、 タスクを記述したファイルを読み込む • サービスロケータを介して、 タスク毎にリモートサーバへ接続 •
phpseclib/phpseclibによる接続 • コマンドを実行 • 複雑 Rocketeerのアプローチ
31.
Console boot Service Register connect Task
Queue Tasks Configure Task
32.
Parallel / 並列のアプローチ
33.
• symfony/processによるproc_open • それぞれのプロセスがタスク実行 •
それ以外は通常の実行と全く同じ • シンプルな並列処理 Envoyの並列アプローチ
34.
Command process connect Task process connect Task
35.
• ReactPHPを利用した非同期 • proc_openを利用し、 各プロセスがタスクを実行 •
socketsエクステンションが必須 • elfet/pure(PHP製Key Value Storage) Deployerの並列アプローチ
36.
Command process connect Task process connect Task ReactPHP Task
37.
• pcntl_forkによるプロセスのフォーク • 各プロセスがタスクを実行 •
pcntlエクステンションが必須 Rocketeerの並列アプローチ
38.
Taskのアプローチ
39.
• 記述したタスクのみを実行 • タスクの前後に処理を行うなどの 仕組みはない •
ローカルタスクはタスクごとに記述 Envoyのタスク
40.
• タスク前後の処理は簡単に記述 • Rocketeerはローカルタスクはタスクごとに •
Deployerはローカルタスクをリモートタスク 内で実行可能 Deployer,Rocketeerのタスク
41.
同じコンポーネントを 利用しながらも、 アプローチはそれぞれ 異なります
42.
• プロジェクトや運用ルールに合致するものを利 用する • 並列で利用する場合は、依存ライブラリや、 エクステンションを調べる •
独自タスクの追加方法や、メンテナンスなど • オリジナルのデプロイツールを開発しても良い ツールを知ること
Download