メニューを閉じる

テクノモバイルグループ

メニューを開く

2015.07.01

開発環境・ツール

Vagrant + Ansible(Mac)

こんにちは、KTです。

Vagrant + chef で、環境構築の自動化を進めていたんですが、時代はAnsibleという話を聞いたので乗り換えてみました。

ちなみに、今回はMacにて実施しています。

※Windowsでも以降で紹介するPlaybook等の情報はそのまま利用出来ると思います。

 

1. Vagrantとは

VirtualBoxを使った仮想環境を一元管理できる便利ツール。

仮想環境の構築から立ち上げ、コピーなどをコマンドで簡単に行える。

参照:Vagrantの紹介と使用方法

 

2. Ansibleとは

構成管理ツールの1つ。ChefとかPuppetとかの仲間。

ymlファイルで構成を管理できるので便利。

 

3. Vagrant with Ansible

まずは、Vagrantの利用環境を整えましょう。

これで、カレントディレクトリにVagrantファイルが生成されているかと思います。

次に、Vagrantファイルに、Ansibleを利用するための記述をしていきましょう。

2行目はboxファイルの設定、3行目はプライベートIP(ホストOSからアクセスするためのIP)です。

今回のメイン、Ansibleの設定は5行目以降です。

config.vm.provision:ansible を指定することで、Ansibleを利用して構築してくれるようになります。このdo ~ endの中に、Ansibleの設定を書いていきます。

Ansibleでは、構成を管理するファイルをPlaybookというため、7行目でPlaybookを指定しています。今回は Vagrantfile と同じディレクトリに main.yml というファイル名でPlaybookを配置します。

これで、VagrantからAnsibleを使用するための準備は完了です(早い!簡単!

 

4. AnsibleのPlaybook

次にAnsibleのPlaybookを書いていきましょう。「VagrantでAnsible使うぜ」ってなっても、Ansible側で何もしなければ意味ないですからね。

上述の通り、今回は Vagrantfile と同じディレクトリに main.yml というファイルを作ります。

まずはお試しで、yum で httpd をインストールしてみましょう。

はい。これだけです。簡単ですね。説明も要らないほど簡単だと思いますが、さらっと説明していきましょう。

まず1行目は今回はおまじないです。Vagrantから利用するときはこれでOKです。他の用途で使うときにはhostsを考えたり、他にファイル作ったりが必要になります。

2行目はAnsibleでタスクを実行するときに使うユーザ名です。

3行目以降から、Ansibleで実行するタスクを記載していきます。

 

基本的には、

のように、タスクを並べて記載することで、上から順次実行していきます。

上の例では、yumを実行するタスクを書きましたが、他に

shell実行

git clone実行

ファイル変更

のような感じで、様々なコマンドが用意されています。

全部は紹介しきれないので、興味のある方は調べてみてください。

 

5. Vagrant起動

話を戻しましょう。main.yml が作成できたら、

を実行して、仮想マシンを起動しましょう。

通常の仮想マシンの起動後に、main.yml で指定したタスクが実行され、httpd がインストールされているかと思います。

あとは、自分の思い通りに、AnsibleのPlaybookを作成して、快適なVagrantの日々を過ごしてください。

 

次回はもう少しAnsibleのPlaybookの書き方に突っ込んでいきたいと思います。

でわでわ。


【テクノモバイルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』
https://qangaroo.jp/

最近の記事

SNS共有

X CLOSE
X CLOSE
X CLOSE