- 更新日: 2014年11月1日
- Vagrant & Chef
Chefでtelnetをインストール
telnet を Chef でインストールします。telnet のインストールと設定 の作業を、Chef で自動化する手順となります。
このエントリーは、CentOS サーバー設定用 Chef Cookbook/Recipe の目次 の一部です。
まずは、telnet 用の Application Cookbook を作成。
1 2 3 |
$ bundle exec knife cookbook create -o site-cookbooks app_telnet_cookbook |
telnet インストール用の recipe
site-cookbook/app_telnet_cookbook/recipes/default.rb
1 2 3 |
package "telnet" do action :install end |
telnet コマンド使うだけの場合は以上のみ、プロビジョニングを実行して終了です。
1 2 3 |
$ bundle exec knife solo cook example.com |
私の用途では、telnet コマンドだけ使う用途でしたので以上で終了。telnet サーバーを行う場合は、別途設定を追加します。
telnet がインストールされているか Serverspec でテスト
telnet コマンドのインストール用 recipe は簡単すぎですので、その Serverspec についても少し。
私は Serverspec を、Serverspec – Advanced Tips の How to share Serverspec tests among hosts に書いてあるディレクトリ形式で管理しています。
spec/base/app_telnet_spec.rb
1 2 3 4 5 |
require 'spec_helper' describe package('telnet') do it { should be_installed } end |
telnet 用の Serverspec テストは、spec/app 以下でも良いかもしれません。私は、基本的なコマンドとして入っていて欲しかったため、spec/base 以下にテストを配置させています。
Serverspec のテストを実行。
1 2 3 |
$ bundle exec rake serverspec:example |
1. Serverspec のテストを書く
2. テストを実行して失敗を確認
3. Chef の recipe を作成してプロビジョニング実行
4. テストを実行して通るのを確認
以上の手順で Chef の recipe 作成を行うと、インフラ構築もテスト駆動開発が可能です。
- Vagrant & Chef の関連記事
- Vagrantで使うVirtualBoxのVM(仮想マシン)を外付けHDDに移動
- Chefで/etc/sysctl.confのkernel.panicを設定
- Chefでyumリポジトリを追加する設定
- Chef で iptables の設定
- ChefでSSH接続用の公開鍵をサーバーに設置
- nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
- Chef Recipe でユーザー・グループを作成
- Chef Recipe で CentOS のネットワーク・ホストを設定
- NetworkManager 他不要なパッケージを削除する Chef Recipe
- CentOS サーバー設定用 Chef Cookbook/Recipe の目次
Leave Your Message!