構成管理ツールとは
システム開発を行う際、サーバー上で行う作業があります
ソフトウェアのインストールや設定、ユーザー管理、アプリケーションのデプロイ、データベースへのデータ投入等々...
これらサーバー上の作業を自動化し、複数サーバーに対して実行できるようにしたものです
ここではfairy support runというツールを紹介します
またこちらにfairy support runを使ったサンプルをアップロードしてあります。ご自由にお使いください
fairy support runの特徴
-
インストールが簡単
ダウンロードして適当な場所に置くだけです -
学習コストがない
fairy support runはシェルで記述します
シェルが書ける人であればすぐに使うことができます
他の構成管理ツールではYAMLまたは、JSONなどでツール独自の書き方をします
その場合、シェルで書いていることを各ツール独自の記法で書き換えているだけである場合が多いです
fairy support runではそのようなツール依存の独自記法を学習するコストがありません -
覚えたことが無駄にならない
数年後新しいツールに乗り換えたり、または、移動になった配属先で違うツールを使うことがあります
その場合、独自の記法で書くツールを使っていた場合、その知識を使えなくなってしまいます
しかし、fairy support runを使うにあたって覚えることはシェルだけです
シェルを覚えることは、たとえあなたの配属先がどのような環境であっても、どのようなツールを使っていたとしても、決して無駄になることはないでしょう
今後のエンジニア生活でシェルが使えない環境に身を置くことは少ないでしょう
-
既存資産を再利用できる
現在構成管理ツールを使っていない現場の場合、かつて書き溜めたシェルを利用できます -
作成物が無駄にならない
数年後新しいツールに乗り換えたり、ツールのバージョンが上がったりして作成した成果物が使えなくなってしまう場合があります
fairy support runはシェルを作成するだけなので、シェル自体はfairy support runが無くても動き、今後も使えます
fairy support runを試してみる
実際に動かして試してみましょう
fairy support runのインストール
com_fairysupport_run.jarをダウンロードし、適当なフォルダに置いてください
Javaのインストール
fairy support runを動かすためにJavaが必要です。Javaをインストールしておいてください
Javaのインストールはここから自分の使用しているOS用のファイルをダウンロードし解凍します
JAVA_HOMEという環境変数を作り、解凍したフォルダを値に設定します
解凍したフォルダ内のbinフォルダを環境変数PATHに追加します
Javaのインストールは以上です
VirtualBox、Vagrantのインストール
fairy support runを試す環境としてVirtualBox、Vagrantを使います
WindowsでVirtualBoxを使用する場合、仮想化支援機能(VT-x/AMD-V)をBIOSから有効にしてください。Hyper-Vを無効化してください
VirtualBoxをここからダウンロードしインストールします
Vagrantをここからダウンロードしインストールします
お試し環境の起動
適当にフォルダを作ります。ここではfairy_support_run_sampleというフォルダを作ってみました
その中にVagrantfileというファイルを作ります
Vagrantfileの内容は下記です
Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.define :vm1 do |server| server.vm.hostname = "vm1" server.vm.network "private_network", ip: "192.168.33.10" server.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" server.vm.network "forwarded_port", guest: 22, host: 2230, host_ip: "127.0.0.1" end config.vm.define :vm2 do |server| server.vm.hostname = "vm2" server.vm.network "private_network", ip: "192.168.33.11" server.vm.network "forwarded_port", guest: 80, host: 8181, host_ip: "127.0.0.1" server.vm.network "forwarded_port", guest: 22, host: 2240, host_ip: "127.0.0.1" end endファイル構成
|-- fairy_support_run_sample | `-- Vagrantfile
コマンドラインでfairy_support_run_sampleに移動
vagrant up
と入力
cd fairy_support_run_sample vagrant up
VirtualBoxマネージャーを起動すると仮想環境が2つ起動しているのが確認できます
fairy support runの設定
環境が整ったので、fairy support runの設定をしていきます。まず接続先サーバーの情報を記述します
ダウンロードしてきたcom_fairysupport_run.jarと同階層にserver.propertiesというファイルを作成します
サーバーに入る為のユーザー名、パスワード、サーバーのアドレス、ポート、秘密鍵へのパス、秘密鍵のパスフレーズを記載します。centos/7のボックスは秘密鍵のパスフレーズが無いので空欄になります
\は2つ重ねて記載します
server1.user=vagrant server1.password=vagrant server1.address=127.0.0.1 server1.port=2230 server1.keyPath=C:\\fairy_support_run_sample\\.vagrant\\machines\\vm1\\virtualbox\\private_key server1.passphrase= server2.user=vagrant server2.password=vagrant server2.address=127.0.0.1 server2.port=2240 server2.keyPath=C:\\fairy_support_run_sample\\.vagrant\\machines\\vm2\\virtualbox\\private_key server2.passphrase=
サーバー上で実行するシェルを作成します
ダウンロードしてきたcom_fairysupport_run.jarと同階層にtestというフォルダを作成します
作成したtestというフォルダ内にmain.shというファイルを作成します
今回はhostnameコマンドを実行するだけのシェルです
改行コードにCRが入らないようにしましょう。CR+LFでなく、LFで保存
#!/bin/bash hostnameファイル構成
|-- fairysupport_test | |-- com_fairysupport_run.jar | |-- server.properties | `-- test | `-- main.sh
fairy support runの実行
設定が終わったので実行してみます
コマンドラインでcom_fairysupport_run.jarの置いてあるフォルダに移動
java -jar com_fairysupport_run.jar test
と入力
引数に与えているtestというのは先ほど作成したフォルダ名です
cd fairysupport_test java -jar com_fairysupport_run.jar test実行結果
----------------------------------------------------------------------------------------------------------------------- [start][127.0.0.1:2240] .... [run main.sh][127.0.0.1:2240] cd /home/vagrant/com_fairysupport_run/test && ./main.sh vm2 [delete file][127.0.0.1:2240] .... [end][127.0.0.1:2240] ----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- [start][127.0.0.1:2230] .... [run main.sh][127.0.0.1:2230] cd /home/vagrant/com_fairysupport_run/test && ./main.sh vm1 [delete file][127.0.0.1:2230] .... [end][127.0.0.1:2230] -----------------------------------------------------------------------------------------------------------------------
[run main.sh]のところを見るとmain.shが実行されたのがわかります
表示された内容を見るとfairy support runは非常に単純な動きだとわかります
引数で与えられたフォルダ内のファイルをアップロードし、main.shを実行するという作業を自動で行ってくれるのです
基本的な使い方の紹介は以上です
他に、ファイルのダウンロード機能や、他のフォルダもアップロードする機能や、server.propertiesの切り替え機能等もあります
次ページからサンプルを使って様々な使い方を紹介します
次ページでapache httpサーバーのインストールを例にfairy support runの機能を紹介していきます
目次