概要
アンシブル(Ansible)を説明すると本一冊が必要です。私たちもそんな詳しく知らなく別の人に説明するレベルでもないので詳しくは説明できないですが私たちが使ってる方法を紹介することでアンシブル(Ansible)を紹介してみようかと思います。アンシブル(Ansible)を簡単に説明したらインフラに関する全般的な自動化ツールです。インストール(installation)やデプロイ(deploy)など様々なことを自動化することができます。このブログではvagrantへアンシブル(Ansible)をインストールする方法に関して説明します。
このブログポストはPCへvirtualbox, vagrantがインストールされた環境を対象にしてます。virtualbox, vagrantをインストールする方法は以前のブログvagrantインストールや使い方を確認してください。
仮想マシン設定生成
下記のvagrantコマンドで仮想マシン(guest system)を設定します。
vagrant init bento/ubuntu-16.04
vagrantコマンドを実行したフォルダへVagrantfile
ファイルが生成されたことが確認できます。下はVagrantfile
でコメントアウト(#
)を削除した内容です。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-16.04"
end
仮想マシン生成や確認
下のvagrantコマンドで仮想マシン(guest system)を生成します。
vagrant up
仮想マシン(guest system)が生成されたら下のvagrantコマンドで仮想マシン(guest system)へ接続します。
vagrant ssh
アンシブルインストール設定
仮想マシン(guest system)中で下のコマンドで実行したらまだアンシブル(Ansible)がインストールされてないことが確認できます。
ansible --version
またVagrantfile
ファイルを開いて下記のように修正します。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-16.04"
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt-get install ansible --yes
SHELL
end
プロビジョンシェル(provision shell)は仮想マシン(guest system)へスクリプトをアップロードして実行できるようにします。vagrantのプロビジョンシェル(provision shell)へアンシブル(Ansible)のインストールスクリプトを追加します。
アンシブルインストール
下記のvagrantコマンドをローカルマシン(host system)で実行します。
vagrant provision
そしてまた仮想マシン(guest system)に接続した後アンシブル(Ansible)がインストールされたことを確認します。
vagrant ssh
ansible --version
問題なくアンシブル(Ansible)がインストールされたら下記のようにアンシブル(Ansible)のバージョンば確認できます。
ansible 2.7.2
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/vagrant/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.12 (default, Dec 4 2017, 14:50:18) [GCC 5.4.0 20160609]
今回はプロビジョンシェル(provision shell)でアンシブル(Ansible)を設定しなくて仮想マシン(guest system)を作った後プロビジョンシェル(provision shell)を入力してvagrantコマンド(vagrant provision
)でアンシブル(Ansible)をインストールしました。
しかし、別のPCや新しく環境を再構築しする時はさらにプロビジョンシェル(provision shell)が設定されたVagrantfile
ファイルを利用するのでvagrant up
コマンドを実行するだけでアンシブル(Ansible)がインストールされます。
確認するため下記のvagrantコマンドで仮想マシン(guest system)を削除します。
vagrant destroy
また下のvagrantコマンドで仮想マシン(guest system)を生成します。
vagrant up
生成されたら下記のvagrantコマンドで仮想マシン(guest system)へ接続します。
vagrant ssh
アンシブル(Ansible)がインストールされたか確認するため下のコマンドを実行します。
ansible --version
アンシブル(Ansible)が問題なくインストールされたら下記のような画面をまた見ることができます。
ansible 2.7.2
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/vagrant/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.12 (default, Dec 4 2017, 14:50:18) [GCC 5.4.0 20160609]
完了
今回のブログではVagrantfileファイルを使ってvagrantへアンシブル(Ansible)をインストールする方法について見ました。アンシブル(Ansible)を上手く使ってる方はなぜこのようにしてるか疑問があると思います。普通はアンシブル(Ansible)をローカルマシン(host system)へインストールして仮想マシン(guest system)へインフラを構築するため使う方が多いと思います。しかし、まだウィンドウズ(Windows)はアンシブル(Ansible)を提供しないので私たちはこのような方法を選べました。次のブログではアンシブル(Ansible)を使って開発環境を構築する方法を紹介します。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。