--
--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:

12
2016

Node.js開発用のVagrant環境構築(Ansible版)

CATEGORY開発環境
先日の奴Ansible版。といっても機能的には本当にシェルスクリプトをAnsibleに置き換えただけなので差分なし。でも繰り返し実行しても問題ないし、今後の拡張とかもやりやすくなったかも?

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
config.vm.box = "centos/7"

# ホストPCとゲストPCのネットワークを構築
config.vm.network "private_network", ip: "172.16.10.10"

# ホストPCのこのフォルダをマウント ※2016年11月現在のcentos/7だと明示的に指定しないとエラーになる
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"

# メモリサイズ
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
end

# ゲストPCにansibleをインストールし共有フォルダのプレイブックを実行
config.vm.provision "ansible_local" do |ansible|
ansible.playbook = "playbook.yml"
ansible.provisioning_path = "/vagrant/"
end
end

playbook.yml

---
- hosts: default
become: true
tasks:
- name: Upgrade all packages
yum: name=* state=latest
- name: Check Node.js repository version
shell: yum info nodejs | grep -e "Version\s*:\s*[6-9].*$"
register: nodejs_repository_version
always_run: yes
changed_when: false
failed_when: false
- name: Register Node.js repository
shell: curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
when: nodejs_repository_version.stdout == ""
- name: Install the latest version of Node.js
yum: name=nodejs state=latest
- name: Install the latest version of MariaDB
yum: name=mariadb state=latest
- name: Install the latest version of MariaDB server
yum: name=mariadb-server state=latest
- name: Install "express-generator" node.js package globally
npm: name=express-generator global=yes
- name: Install "jsdoc" node.js package globally
npm: name=jsdoc global=yes
- name: Install "mocha" node.js package globally
npm: name=mocha global=yes
- name: Install "chai" node.js package globally
npm: name=chai global=yes
- name: Install "pm2" node.js package globally
npm: name=pm2 global=yes
- name: Action to disable service firewalld
service: name=firewalld state=stopped enabled=no
- name: Action to enable service mariadb
service: name=mariadb state=started enabled=yes

こんだけ。hostsファイルが必要とか書いてあるページもあるけど、今は ansible_local にすればその辺は自動生成してくれるので2ファイルだけでOK!(ホスト名は指定してないと?defaultになるみたい)
Node.js 6.x のyumインストール用のリポジトリとかはシェルスクリプトで追加しているけど、一応実行前に存在チェックとか入れた。
プロビジョニング後の express-generator やらサンプルアプリの起動やらは前回記事参照で。

VagrantfileにAnsibleの追加情報とかも記述できるみたいなので、もっと色々設定したい方は↑のansible_localの公式とか参照で。
っていうか、公式斜め読みした末に設定がうまく動かなくて延々ググったり悩んでたけど、英語ちゃんと読んだら書いてあったわ…(><


2016/7/12 テストライブラリの Chai もインストール対象に追記。
2016/11/3 centos/7のboxのパスが/home/vagrant/sync/vagrantと普通に変わっていたので差し替え。
スポンサーサイト

Tag: JavaScript Vagrant Node.js Ansible

0 Comments

Leave a comment

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。