Suche senden
Hochladen
デプロイツールFabric
•
24 gefällt mir
•
6,657 views
ke-m kamekoopa
Folgen
社内LT資料
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 55
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
意識の低い自動化
意識の低い自動化
greenasparagus
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
Ryutaro YOSHIBA
Vagrant + Puppet
Vagrant + Puppet
Gustavo Chaves
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
今更聞けないOAuth2.0
今更聞けないOAuth2.0
Takahiro Sato
Fabric Essentials
Fabric Essentials
Yoshinari Takaoka
自動デプロイ
自動デプロイ
Iku Yamamoto
Empfohlen
意識の低い自動化
意識の低い自動化
greenasparagus
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
Ryutaro YOSHIBA
Vagrant + Puppet
Vagrant + Puppet
Gustavo Chaves
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
今更聞けないOAuth2.0
今更聞けないOAuth2.0
Takahiro Sato
Fabric Essentials
Fabric Essentials
Yoshinari Takaoka
自動デプロイ
自動デプロイ
Iku Yamamoto
Interlli jとplayとjavaとscala
Interlli jとplayとjavaとscala
ke-m kamekoopa
Playで作るwebsocketサーバ
Playで作るwebsocketサーバ
ke-m kamekoopa
Kvwatcher
Kvwatcher
ke-m kamekoopa
設計してますか?
設計してますか?
ke-m kamekoopa
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
ke-m kamekoopa
2日間Fabricを触った俺が 色々解説してみる
2日間Fabricを触った俺が 色々解説してみる
airtoxin Ishii
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
Terui Masashi
Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門
yoichi kikuta
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
Yui Ito
Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例
OSSラボ株式会社
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?
Masahito Zembutsu
Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
Kohsuke Kawaguchi
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
Nov Matake
中の下のエンジニアを脱出するための目標設定
中の下のエンジニアを脱出するための目標設定
空宙 小笠原
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
Masahito Zembutsu
Awsで作るビッグデータ解析今とこれから
Awsで作るビッグデータ解析今とこれから
Shohei Kobayashi
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括
kk_Ataka
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
Takayuki Shimizukawa
kintone プラグインハンズオン資料
kintone プラグインハンズオン資料
安隆 沖
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
Ayumu Kawaguchi
Weitere ähnliche Inhalte
Andere mochten auch
Interlli jとplayとjavaとscala
Interlli jとplayとjavaとscala
ke-m kamekoopa
Playで作るwebsocketサーバ
Playで作るwebsocketサーバ
ke-m kamekoopa
Kvwatcher
Kvwatcher
ke-m kamekoopa
設計してますか?
設計してますか?
ke-m kamekoopa
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
ke-m kamekoopa
2日間Fabricを触った俺が 色々解説してみる
2日間Fabricを触った俺が 色々解説してみる
airtoxin Ishii
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
Terui Masashi
Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門
yoichi kikuta
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
Yui Ito
Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例
OSSラボ株式会社
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?
Masahito Zembutsu
Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
Kohsuke Kawaguchi
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
Nov Matake
中の下のエンジニアを脱出するための目標設定
中の下のエンジニアを脱出するための目標設定
空宙 小笠原
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
Masahito Zembutsu
Awsで作るビッグデータ解析今とこれから
Awsで作るビッグデータ解析今とこれから
Shohei Kobayashi
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括
kk_Ataka
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
Takayuki Shimizukawa
Andere mochten auch
(20)
Interlli jとplayとjavaとscala
Interlli jとplayとjavaとscala
Playで作るwebsocketサーバ
Playで作るwebsocketサーバ
Kvwatcher
Kvwatcher
設計してますか?
設計してますか?
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
2日間Fabricを触った俺が 色々解説してみる
2日間Fabricを触った俺が 色々解説してみる
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?
Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
中の下のエンジニアを脱出するための目標設定
中の下のエンジニアを脱出するための目標設定
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
Awsで作るビッグデータ解析今とこれから
Awsで作るビッグデータ解析今とこれから
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
Ähnlich wie デプロイツールFabric
kintone プラグインハンズオン資料
kintone プラグインハンズオン資料
安隆 沖
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
Ayumu Kawaguchi
遊戯王 かんたん出品管理ツール インストール&ログイン
遊戯王 かんたん出品管理ツール インストール&ログイン
gacchajp
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Wataru MIYAGUNI
Windows storeアプリ brekky
Windows storeアプリ brekky
Satoshi Sekine
Plug In Spyのソースコードリーディング
Plug In Spyのソースコードリーディング
mouri
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
TakashiOkaniwa
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
VOYAGE GROUP
Ähnlich wie デプロイツールFabric
(8)
kintone プラグインハンズオン資料
kintone プラグインハンズオン資料
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
遊戯王 かんたん出品管理ツール インストール&ログイン
遊戯王 かんたん出品管理ツール インストール&ログイン
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Windows storeアプリ brekky
Windows storeアプリ brekky
Plug In Spyのソースコードリーディング
Plug In Spyのソースコードリーディング
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
リワード広告におけるリジェクト問題の現状
Mehr von ke-m kamekoopa
PyKon JP 2014
PyKon JP 2014
ke-m kamekoopa
Scala.js
Scala.js
ke-m kamekoopa
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
ke-m kamekoopa
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
ぎっとの「ぎ」
ぎっとの「ぎ」
ke-m kamekoopa
# Rabbitサンプル
# Rabbitサンプル
ke-m kamekoopa
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
ke-m kamekoopa
継続的にデリバリーって何?
継続的にデリバリーって何?
ke-m kamekoopa
Play frameworkをエヴァンジェる
Play frameworkをエヴァンジェる
ke-m kamekoopa
Php5.4
Php5.4
ke-m kamekoopa
Test
Test
ke-m kamekoopa
Mehr von ke-m kamekoopa
(11)
PyKon JP 2014
PyKon JP 2014
Scala.js
Scala.js
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
ぎっとの「ぎ」
ぎっとの「ぎ」
# Rabbitサンプル
# Rabbitサンプル
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
継続的にデリバリーって何?
継続的にデリバリーって何?
Play frameworkをエヴァンジェる
Play frameworkをエヴァンジェる
Php5.4
Php5.4
Test
Test
Kürzlich hochgeladen
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Kürzlich hochgeladen
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デプロイツールFabric
1.
デプロイツール Fabric Fabric便利だよっていう話。
2.
例えばアプリをデプロイするとして
3.
1. 対象ホストその1にログインして
4.
1. 対象ホストその1にログインして 2. 今動いてるアプリをバックアップして
5.
1. 対象ホストその1にログインして 2. 今動いてるアプリをバックアップして 3.
リソースをアップロードして (あるいはgit pull)
6.
1. 対象ホストその1にログインして 2. 今動いてるアプリをバックアップして 3.
リソースをアップロードして (あるいはgit pull) 4. アプリを再起動して (あるいはシンボリックリンク切り替えて)
7.
1. 対象ホストその1にログインして 2. 今動いてるアプリをバックアップして 3.
リソースをアップロードして (あるいはgit pull) 4. アプリを再起動して (あるいはシンボリックリンク切り替えて) 5. アプリが正常に立ち上がったことを確認して
8.
1. 対象ホストその1にログインして 2. 今動いてるアプリをバックアップして 3.
リソースをアップロードして (あるいはgit pull) 4. アプリを再起動して (あるいはシンボリックリンク切り替えて) 5. アプリが正常に立ち上がったことを確認して 6. (以下サーバn台に繰り返し)
9.
例えばアプリを起動するとして
10.
$ java
11.
$ java ¥ –Xms512M
12.
$ java ¥ –Xms512M
–Xmx1024M
13.
$ java ¥ –Xms512M
–Xmx1024M ¥ –cp /path/to/classpath/*
14.
$ java ¥ –Xms512M
–Xmx1024M ¥ –cp /path/to/classpath/* ¥ com.example.project.Application
15.
$ java ¥ –Xms512M
–Xmx1024M ¥ –cp /path/to/classpath/* ¥ com.example.project.Application ¥ arg_of_app1
16.
$ java ¥ –Xms512M
–Xmx1024M ¥ –cp /path/to/classpath/* ¥ com.example.project.Application ¥ arg_of_app1 ¥ arg_of_app2
17.
$ java ¥ –Xms512M
–Xmx1024M ¥ –cp /path/to/classpath/* ¥ com.example.project.Application ¥ arg_of_app1 ¥ arg_of_app2 ¥ arg_of_app3 …
18.
Fabric使いましょう
19.
What is the
“Fabric” Fabric 何
20.
Fabric 何 デプロイツール?
要は”すごいシェルスクリプト” シェルスクリプトを独自言語パイソンでラップ したようなもの シェルスクリプトでできる事は何でもできる いろいろ便利なAPI
21.
Fabric 何 独自DSL?
いいえ、ただのPythonです Pythonの強力な機能が使える 変数、リスト、辞書、関数、for文、if文、例外 and more…
22.
How to start
to using 導入
23.
$ pip install
fabric
24.
完
25.
完 (使いたいモジュールがある場合は別途pipなりでインストールしましょう)
26.
How to use 使いかた
27.
使いかた 適当なディレクトリ(プロジェクトのルート とか)にfabfile.pyを作成 名前はなんでもいいです
が、名前変えた場合はfabコマンドの引数で明 示的にスクリプトファイル名を指定しないとい けないです。
28.
使いかた こんな感じ
29.
使いかた こんな感じ リモートで指定したコマンドを実行する関数
30.
使いかた 実行するにはfabコマンドを使います fabfileの関数名がそのままタスク名になるます
$ fab –H hoge01.host show_host -Hオプションで実行するホスト名を指定 --hostsオプションなら複数ホストを一括指定 (カンマ区切り)
31.
使いかた ホスト指定するのだるい人は
32.
使いかた ホスト指定するのだるい人は 指定したホストそれぞれで コマンドを実行するようになる
33.
使いかた ホスト指定するのだるい人は 指定したホストそれぞれで コマンドを実行するようになる $ fab
show_host で実行できるようになる
34.
使いかた 基本的な使いかたはこれくらい シェルスクリプト(コマンド)をrun関数に置き換 えるだけなので楽(sudoの場合はsudo()関数)
概念がすごくシンプルなので理解するのが容易 便利なAPIがたくさんあります(詳しくは document見てください)
35.
Application 半歩すすんでみる
36.
半歩すすんでみる タスクは一度に複数指定できる $
fab task1 task2 task3 task1 task2 task3の順番に実行 コマンド実行先ホストを定義するタスクを作っ ておくと捗る
37.
半歩すすんでみる こんな感じにして
38.
半歩すすんでみる $ fab
dev show_host
39.
半歩すすんでみる $ fab
dev show_host これが実行(envを設定)されて
40.
半歩すすんでみる $ fab
dev show_host これが実行される (envのhosts先でrun)
41.
半歩すすんでみる $ fab
prod show_host これが実kk(ry
42.
Application further もうちょっとすすんでみる
43.
タスクが増えてfabfileが肥大してきたよ
44.
分割しましょう
45.
もうちょっとすすんでみる 複数のファイルにタスクを分割できる fabfileディレクトリを作る
fabfileディレクトリに__init__.pyを置く __init__.pyで分割先のファイルをimportする __init__.pyにfabfile.pyの内容をまるっとコピーす るだけでもとりあえずは動く
46.
もうちょっとすすんでみる こんな感じ
47.
もうちょっとすすんでみる 複数のファイルにタスクを分割すると 見通しが良くなってメンテしやすく
関数のスコープが分かれるので名前被り気にし て冗長な名前を付けなくても良くなる ファイルを分割した場合は@taskデコレータ付 けないとタスクとして認識されないよ
48.
Conclusion まとめ
49.
まとめ 定形作業を省力化、自動化したいけど
50.
まとめ 定形作業を省力化、自動化したいけど シェルスクリプトぢからが足りないので
51.
まとめ 定形作業を省力化、自動化したいけど シェルスクリプトぢからが足りないので
Fabricを使っている
52.
まとめ 定形作業を省力化、自動化したいけど シェルスクリプトぢからが足りないので
Fabricを使っている ゆとりが
53.
まとめ 定形作業を省力化、自動化したいけど シェルスクリプトぢからが足りないので
Fabricを使っている ゆとりが ぼくです
54.
まとめ あと、タスクの並列実行までいく余力がな かった
55.
おわり
Jetzt herunterladen