ログってなんぼ

エンジニアのメモです

Ansible:本番環境に流すplaybookをvagrantのVMでテストする

  • 本番でplaybookを流すユーザー名がvagrantじゃない
  • 本番サーバーの種類(グループ)ごとにVM作りたくない

複数のroleについて同時進行でplaybookを書くことはほとんど無いので、一つのVMを使いまわしたい

今の自分のやり方

  • 使うVMは一つだけ
    • updestroyで作っては壊し作っては壊しとか
    • sahara-pluginで初期状態にrollbackしたり

github.com

本番用のhosts

hosts

[basicimage]
basic ansible_host=xxx.xxx.xxx.xxx
[test]
test01 ansible_host=xxx.xxx.xxx.xxx
[app]
app01 ansible_host=xxx.xxx.xxx.xxx

ローカル用のhosts

hosts.vagrant

[basicimage]
basic ansible_host=localvm
[test]
test01 ansible_host=localvm
[app]
app01 ansible_host=localvm

ローカルVMに任意のroleのplaybookを流す

$ ansible-playbook app.yml -i hosts.vagrant -u vagrant

-iでローカル用のインベントリを指定、-uでvagrantユーザーを指定

もっと良いやり方無いかな(´・ω・`)

初めてのAnsible

初めてのAnsible