こんにちは!入社2年目、広告サービスチームの山﨑です!
この頃ダイエット食品試しまくって5kg痩せました!!!毎日がリバウンドの恐怖&食欲との戦いです!☆
そんな私は業務ではずっとPerl を使って開発をしていたのですが、今後Scalaを導入していくということで環境構築を行いました。
実際は手動で行ったのですが、VagrantとAnsibleを使ったことがなかったのでこの二つを使ってもう一つ環境を作ってみました!
環境
ansible実行ホスト
- CentOS7.3
- Ansible 2.3.2.0
セットアップ対象
- CentOS7.3
仕事で使用しているPCがWindowsでAnsibleを簡単に実行できないのでLinuxの仮想マシンを2つ用意しました。
VagrantでCentOS7 インストール
$ mkdir centos
Vagrantfileを作成
$ vagrant init CentOS7/
ネットワーク、共有フォルダ設定を追記
$ vim Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.network :private_network, ip: "192.168.33.10" #任意のip
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
end
$ vagrant up
$ vagrant ssh
Windows環境だとrsyncが見つからないよとエラーがでたので
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
を追記しました。
Windowsのコマンドプロンプトではsshログインできないので、ssh接続できるツールを使用してください。今回は同期におすすめされたGit Bashを使っています!
これでCentOSのインストールは完了です!
Ansible
今回作成したplaybookがこちら!
- hosts: all
become: yes
tasks:
- name: install common package
yum: name={{ item }}
with_items:
- unzip
- wget
- name: download JDK
get_url:
url: http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm
headers: "Cookie:oraclelicense=accept-securebackup-cookie"
dest: /home/vagrant/jdk-8u144-linux-x64.rpm
- name: import rpm
yum:
name: /home/vagrant/jdk-8u144-linux-x64.rpm
state: present
- name: get Scala
get_url:
url: http://downloads.typesafe.com/scala/2.11.7/scala-2.11.7.tgz
dest: /home/vagrant/
- name: unarchive scala.tgz
unarchive:
src: /home/vagrant/scala-2.11.7.tgz
dest: /home/vagrant
remote_src: True
- name: scala path
become: False
lineinfile:
path: /home/vagrant/.bash_profile
regexp: 'export PATH%'
insertbefore: 'export PATH'
line: 'export PATH=$PATH:/home/vagrant/scala-2.11.7/bin'
実行!
$ ansible-playbook -i hosts main.yml
完了してscalaコマンドを打つと、scalaconcoleが立ち上がるはずです!!
ではではそのまんまって感じなのですが実行内容を解説させて頂きます!
install common package
必要なパッケージをインストール
download JDK & import rpm
scalaを動かすのに必要なJDKのダウンロードです。サイトを見ていただくと分かるのですが、ラジオボタンでライセンス認証を行わなければなりません。 CUIから行うにはCookieのオプションをつけてあげればダウンロードできます!
get Scala & unarchive scala.tgz
Scalaのインストール。バージョンは適宜選択してください。 任意のパスに解凍します。
scala path
パスを通す為に.bash_profileに scala.taz
を解凍したパスを追記します。
まとめ
本当はActivatorやIntelliJをインストールするところまでいきたかったのですが・・・今後の展望と致します。
途中エラーがでまくったりしてましたが、Ansibleを実行して全部のtaskが上手くいくととっても気持ちよいですね!
最後まで読んで頂きありがとうございました!