SlideShare a Scribd company logo
第2回
ansible勉強会
@carotene4035
副題
順番に増やして覚えるansible
前回のハイライト
1つのサーバに
少しのタスク(nginx導入)を
実行したよ
※一言にまとめてしまいすみません。。
前回から
いろいろ増やします
今日やること
• 複数のサーバに少しのタスク
• 1つのサーバにたくさんのタスク
• 複数のサーバにたくさんのタスク☆☆☆
今日やること
ちょっとずつ増やしていくよ
今日やること
構成に必要な情報(おさらい)
• どこに
• なにを
• どのように
ansible-playbook -i [inventory] [playbook]
構成に必要な情報(おさらい)
ansible playbookの実行コマンド
ansible-playbook -i [inventory] [playbook]
どこに なにを
どのように
構成に必要な情報(おさらい)
ansible playbookの実行コマンド
複数のサーバに
少しのタスク
[サーバ]
ロードバランサ
Appサーバ1
Appサーバ2
DBサーバ
複数のサーバに少しのタスク
[タスク]
サーバ名を定義(するだけ)
複数のサーバに少しのタスク
「どこに」を指定する
InventoryFileの書き方を確認
複数のサーバに少しのタスク
複数のサーバに少しのタスク
複数のサーバに少しのタスク
InventoryFileがかけたので、疎通確認。
すべてのホストに対してpingを送信。
複数のサーバに少しのタスク
$ ansible all -i hosts -m ping
複数のサーバに少しのタスク
複数のサーバに少しのタスク
たのしい!
✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
今回実行するplaybook
site.yml
複数のサーバに少しのタスク
複数のサーバに少しのタスク
実行する
$ ansible-playbook -i hosts site.yml
`
複数のサーバに少しのタスク
複数のサーバに少しのタスク
複数のサーバに少しのタスク
✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
複数のサーバに少しのタスク
余談
複数のサーバに少しのタスク
macが火を吹きました
複数のサーバに少しのタスク
複数のサーバに少しのタスク
複数のサーバに少しのタスク
ansible_cli app1 app2 load db
複数のサーバに少しのタスク
ansible_cli app1 app2 load db
複数のサーバに少しのタスク
google検索 過積載
複数のサーバに少しのタスク
ansible_cli app1 app2 load db
コロシテ…コロシテ…
複数のサーバに少しのタスク
docker使お(ry
1つのサーバに
たくさんのタスク
[サーバ]
Appサーバ1
1つのサーバにたくさんのタスク
host名書き換え
timezone書き換え
libselinux-python導入
ntp導入
言語設定
グループの追加
sudoユーザ追加
ROユーザ追加
SFTPユーザ追加
1つのサーバにたくさんのタスク
composer導入
git導入
vim導入
remiリポジトリ追加
epelリポジトリ追加
php7.0 install
phpモジュールを11個ほど追加
php.iniファイルを設置
php-fpm.iniの設定
[タスク]
とりあえずplaybook(site.yml)を
書いてみる
1つのサーバにたくさんのタスク
1つのサーバにたくさんのタスク
もうちょっとだけ
続くんじゃ
1つのサーバにたくさんのタスク
もうちょっとだk
▂▅▇█▓▒░( ω')░▒▓█▇▅▂
うわあああああああああああ
1つのサーバにたくさんのタスク
長い。。
ごちゃごちゃして見にくい。。
1つのサーバにたくさんのタスク
そこでロール化
1つのサーバにたくさんのタスク
1つのサーバにたくさんのタスク
before/after
1つのサーバにたくさんのタスク
1つのサーバにたくさんのタスク
スッキリ
1つのサーバにたくさんのタスク
実際のディレクトリはこんな感じ
1つのサーバにたくさんのタスク
site.yml roles
ロール化の恩恵は他にもある
1つのサーバにたくさんのタスク
playbookを書くのが楽になる
1つのサーバにたくさんのタスク
ロールディレクトリの中を
みてみます
(中をみるとはいってない)
1つのサーバにたくさんのタスク
1つのサーバにたくさんのタスク
templates:
設定ファイル系を置く場所
1つのサーバにたくさんのタスク
templates:
設定ファイル系を置く場所
jinga2というファイル形式で、
 {{ }}でくくった部分に変数が入る
1つのサーバにたくさんのタスク
vars:
変数を置く場所
defaults:
 変数を置く場所
1つのサーバにたくさんのタスク
vars:
変数を置く場所
defaults:
 変数を置く場所
1つのサーバにたくさんのタスク
files:
 ホストに上げるファイルを置いておく場所
 (例:githubとの通信用秘密 など)
1つのサーバにたくさんのタスク
tasks:
タスクが書かれているファイルを置く場所
1つのサーバにたくさんのタスク
tasks:
タスクが書かれているファイルを置く場所
1つのサーバにたくさんのタスク
tests:
ロール単体でテストをするときに使用する
 テストを適用するホストを指定するための
inventoryファイルをおく
1つのサーバにたくさんのタスク
handlers:
 リロードや再起動系の処理をおく
 (遅延実行系というらしい。。
  教えて誰か)
 taskと同じように書いて、
 tasks/main.ymlにてnotifyモジュールを
使ってタスク呼び出しをする
1つのサーバにたくさんのタスク
meta:
roleの依存関係を記述する
 つまり、ロールの中から他のロールを読み
込む処理がかける
---
dependencies:
- { role: common, some_parameter: 3 }
- { role: apache, apache_port: 80 }
1つのサーバにたくさんのタスク
meta:
読み込まれたロールは、
読み込んでいるロールより先に実行される。
同じロールが以前に実行されていた場合はそ
のロールは実行されない。
ansible-galaxy init ̶init-path= roles [role]
roleの雛形を生成するコマンド
1つのサーバにたくさんのタスク
      自動でこれができます
1つのサーバにたくさんのタスク
ε-(;-ω-`A) フゥ…
複数のサーバに
たくさんのタスク
複数のサーバにたくさんのタスク
[サーバ]
ロードバランサ
Appサーバ1
Appサーバ2
DBサーバ
複数のサーバにたくさんのタスク
InventoryFile
複数のサーバにたくさんのタスク
playbook roleに分けて、
site.ymlにグループごとにrole
を記述するだけ
複数のサーバにたくさんのタスク
playbook
複数のサーバにたくさんのタスク
複数のサーバにたくさんのタスク
ちょっとまった
複数のサーバにたくさんのタスク
ホスト固有の変数はどうするの?
複数のサーバにたくさんのタスク
host_varsという
ディレクトリを用意する
複数のサーバにたくさんのタスク
 インベントリで指定したホスト名と
 同じ名前のファイルを用意することで、
そのホストに対してタスクが実行される際、
 自動で読み込まれる
複数のサーバにたくさんのタスク
 中はこんな感じ。
 ホスト固有の設定値等を羅列する。


(環境変数として管理したほうが良い。
 あくまで例)
複数のサーバにたくさんのタスク
グループ固有の変数はどうするの?
複数のサーバにたくさんのタスク
group_varsという
ディレクトリを用意する
複数のサーバにたくさんのタスク
 インベントリで指定したグループ名と
 同じ名前のファイルを用意することで、
そのグループに対してタスクが実行される際、
 自動で読み込まれる
まとめ
• 複数のサーバに少しのタスク
• 1つのサーバにたくさんのタスク
• 複数のサーバにたくさんのタスク☆☆☆
まとめ
• 複数のサーバに少しのタスク
  InventoryFileの書き方を覚えれば大丈夫
まとめ
• 1つのサーバにたくさんのタスク
  roleのわけ方を覚えれば大丈夫
まとめ
• 複数のサーバにたくさんのタスク
  変数の読み込み方を覚えれば大丈夫
まとめ
• roleを書けば書くほど、playbookを書くの
が楽になる
まとめ
• Ansibleたのしいよね という話でした
議題
• Ansible playbookの管理の仕方
  リポジトリはプロジェクトごと?
  それともぜんぶいっしょにしちゃう?
  本番環境、テスト環境、開発環境はどうわけて書く?
など話し合えたら嬉しく思います。

More Related Content

What's hot

Ansible handson
Ansible handsonAnsible handson
Ansible handson
Hideki Saito
 
Ansible tower 構築方法と使い方
Ansible tower 構築方法と使い方Ansible tower 構築方法と使い方
Ansible tower 構築方法と使い方
Hiroshi Okano
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
Takeshi Kuramochi
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
Taro Hirose
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
Masaki Kobayashi
 
What is an Ansible?
What is an Ansible?What is an Ansible?
What is an Ansible?
Shunsaku Kudo
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrant
Yu Ito
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstart
Hideki Saito
 
Docker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレDocker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレperyaudo
 
Vagrant+Ansibleで検証環境を簡単構築
Vagrant+Ansibleで検証環境を簡単構築Vagrant+Ansibleで検証環境を簡単構築
Vagrant+Ansibleで検証環境を簡単構築
Ken Sawada
 
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacTakeshi Komiya
 
Osdt2015 saito
Osdt2015 saitoOsdt2015 saito
Osdt2015 saito
Hideki Saito
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
Yasutaka Hamada
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
max747
 
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
Yasutaka Hamada
 

What's hot (20)

Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
Ansible handson
Ansible handsonAnsible handson
Ansible handson
 
Ansible tower 構築方法と使い方
Ansible tower 構築方法と使い方Ansible tower 構築方法と使い方
Ansible tower 構築方法と使い方
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
Puppetのススメ
PuppetのススメPuppetのススメ
Puppetのススメ
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
 
What is an Ansible?
What is an Ansible?What is an Ansible?
What is an Ansible?
 
勉強会0614 vagrant
勉強会0614 vagrant勉強会0614 vagrant
勉強会0614 vagrant
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstart
 
Docker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレDocker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレ
 
Vagrant+Ansibleで検証環境を簡単構築
Vagrant+Ansibleで検証環境を簡単構築Vagrant+Ansibleで検証環境を簡単構築
Vagrant+Ansibleで検証環境を簡単構築
 
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
 
130412 kayac-cinnamon
130412 kayac-cinnamon130412 kayac-cinnamon
130412 kayac-cinnamon
 
Osdt2015 saito
Osdt2015 saitoOsdt2015 saito
Osdt2015 saito
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
 
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
 

Similar to Ansible roleとinventoryの書き方

Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
Kodai Terashima
 
本番環境で使いたいPHP
本番環境で使いたいPHP本番環境で使いたいPHP
本番環境で使いたいPHPTakuya Sato
 
静的サイトどこにする?
静的サイトどこにする?静的サイトどこにする?
静的サイトどこにする?
ogawatti
 
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
ConoHa, GMO INTERNET
 
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews, Inc.
 
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたdo_aki
 
20090704rubyist九州
20090704rubyist九州20090704rubyist九州
20090704rubyist九州
koki_h
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
Kouhei Sutou
 
マルチデバイス時代の高速化
マルチデバイス時代の高速化マルチデバイス時代の高速化
マルチデバイス時代の高速化
Shin Takeuchi
 
Ansible provisioning
Ansible provisioningAnsible provisioning
Ansible provisioning
Naoki Watanabe
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
 
Website build exercise_opsguide_japanese
Website build exercise_opsguide_japaneseWebsite build exercise_opsguide_japanese
Website build exercise_opsguide_japanese
meilai521
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentookubo39
 
Jenkins + awsで並列テスト
Jenkins + awsで並列テストJenkins + awsで並列テスト
Jenkins + awsで並列テスト
Yamamoto Kazuhisa
 
Fabric Essentials
Fabric EssentialsFabric Essentials
Fabric Essentials
Yoshinari Takaoka
 

Similar to Ansible roleとinventoryの書き方 (20)

Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
 
らくちん Go言語
らくちん Go言語らくちん Go言語
らくちん Go言語
 
Sfes
SfesSfes
Sfes
 
本番環境で使いたいPHP
本番環境で使いたいPHP本番環境で使いたいPHP
本番環境で使いたいPHP
 
静的サイトどこにする?
静的サイトどこにする?静的サイトどこにする?
静的サイトどこにする?
 
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
このべん第二回 ~「できない子ほどかわいくしたい!ConoHa補完計画」勉強会
 
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
 
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみたWebサーバ勉強会4 nginx で php-fpm を動かしてみた
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
 
20090704rubyist九州
20090704rubyist九州20090704rubyist九州
20090704rubyist九州
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
 
マルチデバイス時代の高速化
マルチデバイス時代の高速化マルチデバイス時代の高速化
マルチデバイス時代の高速化
 
Fluentd casual
Fluentd casualFluentd casual
Fluentd casual
 
Ansible provisioning
Ansible provisioningAnsible provisioning
Ansible provisioning
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 
Website build exercise_opsguide_japanese
Website build exercise_opsguide_japaneseWebsite build exercise_opsguide_japanese
Website build exercise_opsguide_japanese
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
 
Jenkins + awsで並列テスト
Jenkins + awsで並列テストJenkins + awsで並列テスト
Jenkins + awsで並列テスト
 
Fabric Essentials
Fabric EssentialsFabric Essentials
Fabric Essentials
 
Yohes kitchen
Yohes kitchenYohes kitchen
Yohes kitchen
 

More from Kamimura Taichi

Vuejs meetup
Vuejs meetupVuejs meetup
Vuejs meetup
Kamimura Taichi
 
ruby 関数化のメリット
ruby 関数化のメリットruby 関数化のメリット
ruby 関数化のメリット
Kamimura Taichi
 
ajaxってなんなの
ajaxってなんなのajaxってなんなの
ajaxってなんなの
Kamimura Taichi
 
わからないことがわからないときにどうしたらよいのか。
わからないことがわからないときにどうしたらよいのか。わからないことがわからないときにどうしたらよいのか。
わからないことがわからないときにどうしたらよいのか。
Kamimura Taichi
 
Session管理とRailsのcookie store
Session管理とRailsのcookie storeSession管理とRailsのcookie store
Session管理とRailsのcookie store
Kamimura Taichi
 
git addの解説
git addの解説git addの解説
git addの解説
Kamimura Taichi
 
Ruby - オブジェクト指向入門
Ruby - オブジェクト指向入門Ruby - オブジェクト指向入門
Ruby - オブジェクト指向入門
Kamimura Taichi
 
vim入門
vim入門vim入門
vim入門
Kamimura Taichi
 
Ansible超入門
Ansible超入門Ansible超入門
Ansible超入門
Kamimura Taichi
 
What is git commit? - git commitって何なの?
What is git commit? - git commitって何なの?What is git commit? - git commitって何なの?
What is git commit? - git commitって何なの?
Kamimura Taichi
 
angularJS vs angular2
angularJS vs angular2angularJS vs angular2
angularJS vs angular2
Kamimura Taichi
 

More from Kamimura Taichi (11)

Vuejs meetup
Vuejs meetupVuejs meetup
Vuejs meetup
 
ruby 関数化のメリット
ruby 関数化のメリットruby 関数化のメリット
ruby 関数化のメリット
 
ajaxってなんなの
ajaxってなんなのajaxってなんなの
ajaxってなんなの
 
わからないことがわからないときにどうしたらよいのか。
わからないことがわからないときにどうしたらよいのか。わからないことがわからないときにどうしたらよいのか。
わからないことがわからないときにどうしたらよいのか。
 
Session管理とRailsのcookie store
Session管理とRailsのcookie storeSession管理とRailsのcookie store
Session管理とRailsのcookie store
 
git addの解説
git addの解説git addの解説
git addの解説
 
Ruby - オブジェクト指向入門
Ruby - オブジェクト指向入門Ruby - オブジェクト指向入門
Ruby - オブジェクト指向入門
 
vim入門
vim入門vim入門
vim入門
 
Ansible超入門
Ansible超入門Ansible超入門
Ansible超入門
 
What is git commit? - git commitって何なの?
What is git commit? - git commitって何なの?What is git commit? - git commitって何なの?
What is git commit? - git commitって何なの?
 
angularJS vs angular2
angularJS vs angular2angularJS vs angular2
angularJS vs angular2
 

Ansible roleとinventoryの書き方