ページ ツリー

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

まずは Kitchen を使用するために、設定ファイル .kitchen.yml を編集しましょう。

Section
Column
コード ブロック
title.kitchen.yml
driver:
  name: docker

provisioner:
  name: chef_solo

platforms:
  - name: centos-6.4
    driver_config:
      image: centos
      forward: 8080

suites:
  - name: default
    run_list:
      - recipe[tar::default]
      - recipe[java::default]
      - recipe[jenkins::default]
    attributes:
      java:
        install_flavor: oracle
        jdk_version: 7
        java_home: /usr/java/default
        oracle:
          accept_oracle_download_terms: true
Column

driver

軽量・高速な docker を使用します。
Kitchen から docker を利用するには kitchen-docker のインストールが必要です。

 

コード ブロック
$ chef gem install kitchen-docker 

※ 今回の環境には既にインストールされています。

driver_config

centos をベース image とします。
利用できる image 名は Dockerfile の FROM 句で指定できるものと同じです。
詳細は Dockerfile のリファレンスを参照してください。
https://docs.docker.com/reference/builder/#from ]

forward ではホストマシンにフォワーディングするポート番号を指定します。
今回は jenkins が使用する 8080 ポートに http://localhost:8080 でアクセスできるように指定しています。
詳細は kitchen-docker のドキュメントを参照してください。
https://github.com/portertech/kitchen-docker ]

run_list

プロビジョニング時に実行する Recipe を指定します。
Jenkins の動作には Java が必要なので、今回は Opscode Community の java Cookbook を使うことにします。
また、java Cookbook の動作には tar が必要なので、これも Opscode Community の tar Cookbook を使います。
自作した jenkins Cookbook も忘れずに指定しましょう。
※ プロビジョニングに外部の Cookbook が必要な場合は後述する Berksfile の編集が必要です。

attributes

プロビジョニング時に Recipe にわたす Attribute を指定します。
Attribute とは Recipe に対するパラメータのようなものです。
今回は Opscode コミュニティの java Cookbook の Attribute を指定しています。
詳細は java Cookbook の 
README.md を参照してください。
http://community.opscode.com/cookbooks/java ]

...