Skip to content

masawo/ubuntu-build

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Packer + Ansible で、ubuntu linux のサーバを設定する

Amazon EC2で使うイメージ(AMI)を構築する前に、ローカルで試したときの記録

構築する形式

  • virtualbox(ローカル向け)

使用ツール

Packer でOSインストール〜初期設定をしたあと、Ansible で細かい設定を行う。

インストール

Packer, Ansibleのインストール

% brew install packer
% brew install ansible

Vagrant のインストール

Vagrant からダウンロード
※homebrew でも良いのかもしれない

VirtualBoxのインストール

ViatualBox

rubyのインストールで使うgalaxyを入れる

https://galaxy.ansible.com/zzet/rbenv/

% ansible-galaxy install zzet.rbenv

ビルド

ベースとなるvagrant用イメージ(box)をローカルでビルドする

  • OSインストール
  • 共通で必要なsoftwareを導入
    • 必要なapt
    • nginx
    • rbenv
% packer build ubuntu-base.json

↑でできたboxをマウントする

% vagrant box add ubuntu boxes/ubuntu-16.04-amd64-virtualbox-ubuntu-base.box
% vagrant up
% vagrant halt

すると以下にovfファイルが生成されるので、これを次の packer build につかう。   ~/.vagrant.d/boxes/ubuntu/0/virtualbox/box.ovf

% packer build ubuntu-app.json

できあがったら、vagrant up して動作確認

% vagrant box add ubuntu boxes/ubuntu-16.04-amd64-virtualbox-ubuntu-app.box
% vagrant up
% vagrant ssh

消すとき

% vagrant destroy
% vagrant box remove ubuntu

ansibleでなにか追加するとき

packer build をおこなうと、終わるまで結構時間がかかる(baseのイメージは数十分)。
Vagrantfile の以下をコメントアウトすれば vagrant provision で任意のymlを動かすことができるので、追加する場合はそこでテストができる。

#  config.vm.provision "ansible" do |ansible|
#    ansible.verbose = "v"
#    ansible.playbook = "ansible/tmp.yml"
#  end

参考情報

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages