0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Vagrant Box イメージを作成するための環境構築

Posted at

注意

現在は VirtualBoxVagrant を使ったワークフローよりも Docker を使ったワークフローの方が効率的で、
この記事で紹介しているすべてのツールが習得不要になります。
Docker が導入できないかどうかを最初に検討することをおすすめします。

この記事では、VagrantBox イメージを作成するための環境構築の手順を解説します。

Vagrant Box イメージの作成が必要になる経緯

Vagrantfile に構築手順を定義することで VirtualBox など仮想環境の構築自動化ができます。
一方で、仮想環境を消去してしまうと、次に使うときに再度構築処理が実行されることになり、
構築までに時間がかかってしまいます。

Vagrantfile だけで構築手順を自動化するのではなく、
あらかじめ VagrantBox イメージを作成しておき、その Box イメージを共有することで
構築の時間をなくし、生産性を上げることができます。

Vagrantfile だけで構築手順を自動化した場合の問題点

  • 環境をリセットしたいとき、構築処理の再実行が必要となり、待ち時間が必要になります
  • チームで利用する場合、チームの人数分構築処理が実行され、チーム全体で消費される時間が大きくなります

上記の問題点を解消するために、事前に Box イメージ を作成しておき、
その Box イメージ を共有します。

環境構築の手順

1. 物理 PC を準備します

VirtualBox は仮想マシンにはインストールできないためです。

2. Chocolatey をインストールします。

Chocolatey の使い方 | ultra code

3. VirtualBox, Vagrant, Packer をインストールします。

ここでインストールするツールの用途は次の通りです:

ツール 用途
VirtualBox 仮想環境を動作させるため
Vagrant VirtualBox をコマンドやプログラムで制御するため
Packer Vagrant を利用したイメージ作成手順を定義し、コマンドひとつでイメージを作成するため
choco install -y virtualbox vagrant

2020-07-15 現在、次の手順でインストールする packer-builder-vagrant
Packer バージョン 1.5.0 以降に対応していないため、Packer はバージョン 1.4.5 をインストールします:

choco install -y packer --version=1.4.5

4. packer-builder-vagrant をインストールします。

初期状態では PackerVagrantBoxイメージ をベースイメージにしてイメージを作成することができません。
このプラグインは、Packer でイメージを作成するときのベースイメージとして
VagrantBoxイメージ を指定することを可能にします。

ちなみに、PackerVirtualBoxisoovf をベースイメージにすることはできます。
つまり、Vagrant のイメージのビルドを複数段階に分けなくてもよければ、
このプラグインがなくてもイメージの作成を行うことはできます。

4-1.

個人用フォルダーの packer.d フォルダーに
“plugins“ というフォルダーを新規作成します。

4-2.

次の GitHub リポジトリーを開きます:
themalkolm/packer-builder-vagrant: 📦 Packer builder to use existing vagrant boxes

4-3.

Release タブから次の名前の exe ファイルをダウンロードします:
packer-(version)_packer-builder-vagrant_windows_amd64.exe

4-4.

ダウンロードしたファイルを手順 4-1. で新規作成した plugins フォルダーに移動し、
ファイル名を次の名前に変更します:
packer-builder-vagrant.exe

以上で、
Packer のコマンドを実行するだけで VagrantBoxイメージ を作成することができる環境ができあがりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?