hatenob

プログラムって分からないことだらけ

一人Web開発~第2夜(1) 環境準備

ものごとを始めるための準備を始めます。
とりあえずローカルにGitリポジトリをクローンするところから。

作業環境はCentOS 6.5(不定期にyum -y updateで最新化してます)です。
とりあえず作業は全部rootで行います。

最低限必要なSWの準備

OSのインストールとかそんなのは書きませんので適宜。
gitとchefをインストールしておきます。

# yum install git

Chefは公式に従ってインストール。

# curl -L https://www.opscode.com/chef/install.sh | bash

環境の準備

昨日作ったGitリポジトリをclone。

# git clone git@github.com:nobrooklyn/oneman.git

アプリケーション用とプラットフォーム用のディレクトリを掘っておくことにします。

  • application : アプリケーション用
  • platform : プラットフォーム用
# mkdir -p application
# mkdir -p platform/chef
# touch application/.gitkeep
# touch platform/chef/.gitkeep
# git add .
# git commit -m 'create directory'

プラットフォーム用は以前から勉強のために作っていたChef用のリポジトリがあるので、そっちをマージすることにします。

# git remote add chef-repo git@github.com:nobrooklyn/chef-repo.git
# git fetch chef-repo
# git merge -X subtree=platform/chef chef-repo/master

subtreeで指定するディレクトリはGitリポジトリ上に作っておく必要があるようです。ないとリポジトリのルートにマージされて大変でした。

あとは、chef-soloの環境設定をしておきます。

# /etc/chef/solo.rb
file_cache_path "/tmp/chef-solo"
cookbook_path "#{ENV['CHEF_REPO']}/cookbooks"
role_path "#{ENV['CHEF_REPO']}/roles"
log_level :info

CHEF_REPOは環境変数として、.bash_profileあたりで上記のリポジトリのディレクトリを指定しておくことにしました。

ここまでで一通りの準備は完了。

アプリケーション作る前に、先に最低限の実行環境を整えることにします。