#[SoftLayerクッキングLABO] (http://qiita.com/MahoTakara/items/464da29ccf932698b753)
今回は、クックブックやレシピに取掛かる前に、リポジトリを整備します。
Chef リポジトリの初期化
前回は。このディレクとが出来た処まででした。
chef@ChefWs:~/chef-repo$ ls -la
合計 20
drwxrwxr-x 2 chef chef 4096 9月 30 18:48 .
drwxr-xr-x 8 chef chef 4096 9月 30 18:22 ..
-rw-r--r-- 1 chef chef 133 9月 30 18:22 Gemfile
-rw-rw-r-- 1 chef chef 6402 9月 30 18:48 Gemfile.lock
次の様に、knife solo を使って 設定ファイルとディレクトリ構造を一息に作ってしまいます。
chef@ChefWs:~/chef-repo$ knife solo init .
WARNING: No knife configuration file found
Creating kitchen...
Creating knife.rb in kitchen...
Creating cupboards...
Setting up Berkshelf...
コマンドの実行後のディレクトリは、以下の様になっています。
chef@ChefWs:~/chef-repo$ ls -la
合計 56
drwxrwxr-x 9 chef chef 4096 9月 30 20:03 .
drwxr-xr-x 8 chef chef 4096 9月 30 18:22 ..
drwxrwxr-x 2 chef chef 4096 9月 30 20:03 .chef
-rw-rw-r-- 1 chef chef 12 9月 30 20:03 .gitignore
-rw-rw-r-- 1 chef chef 35 9月 30 20:03 Berksfile
-rw-r--r-- 1 chef chef 133 9月 30 18:22 Gemfile
-rw-rw-r-- 1 chef chef 6402 9月 30 18:48 Gemfile.lock
drwxrwxr-x 2 chef chef 4096 9月 30 20:03 cookbooks
drwxrwxr-x 2 chef chef 4096 9月 30 20:03 data_bags
drwxrwxr-x 2 chef chef 4096 9月 30 20:03 environments
drwxrwxr-x 2 chef chef 4096 9月 30 20:03 nodes
drwxrwxr-x 2 chef chef 4096 9月 30 20:03 roles
drwxrwxr-x 2 chef chef 4096 9月 30 20:03 site-cookbooks
GitHub への登録
この Chef のディレクトリを GitHub へ登録するまでの作業を進めていきます。
GitHub へ登録するオブジェクトを決める
chef@ChefWs:~/chef-repo$ git init
Initialized empty Git repository in /home/chef/chef-repo/.git/
このディレクトリ以下にあるものを全て追加します。
chef@ChefWs:~/chef-repo$ git add .
最初のコミットであることのメモを付けて、コミットを実行します。
chef@ChefWs:~/chef-repo$ git commit -m "first commit"
Committer: chef <chef@ChefWs.softlayer.com>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
11 files changed, 286 insertions(+)
create mode 100644 .chef/knife.rb
create mode 100644 Berksfile
create mode 100644 Gemfile
create mode 100644 Gemfile.lock
create mode 100644 README.md
create mode 100644 cookbooks/.gitkeep
create mode 100644 data_bags/.gitkeep
create mode 100644 environments/.gitkeep
create mode 100644 nodes/.gitkeep
create mode 100644 roles/.gitkeep
create mode 100644 site-cookbooks/.gitkeep
GitHub にリポジトリを作成
ここでは、無料で誰でもユーザー登録していれば利用できる GitHub を例にしていますが、プライベートな git 環境でも要領は同じです。 画面右上のプラスマークをクリックして、リポジトリを登録する画面を開きます。 必要項目を登録して "Create repository" をクリックします。
Quick setup の HTTP を選択して、画面に表示されている順番にコマンドをうち進めていきます。
GitHubへアップロード
この場所から GitHub のリポジトリと関連づけます。
chef@ChefWs:~/chef-repo$ git remote add origin https://github.com/takara9/chef-repo.git
Gitにプッシュして、リモートのサーバーに、コピーを置きます。
chef@ChefWs:~/chef-repo$ git push -u origin master
Username for 'https://github.com': takara9
Password for 'https://takara9@github.com':
Counting objects: 10, done.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (10/10), 2.60 KiB | 0 bytes/s, done.
Total 10 (delta 0), reused 0 (delta 0)
To https://github.com/takara9/chef-repo.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
まとめ
リポジトリを初期化して、GitHub のリポジトリに登録が完了しました。これで Chef のレシピを作っていく準備が完了です。 時間は実際にレシピを作成してサーバーを構築していきます。