Provisioner

ChefでBerksを実行してOracle Javaをインストール

投稿日:2014/06/08 更新日:

Chefでは、自分でレシピを書く以外でもコミュニティクックブックを利用することができるみたいです。
Apacheはもちろんかなりたくさんのクックブックがあり、Javaもありました。
というわけで、このCookbookを使ってOracleのJavaをインストールしてみたいと思います。

自分でCookbookをダウンロードして単独で利用する方法もあるとは思いますが、今回はBerkshelfを使いました。
Berkshelfは外部クックブックを管理するツールでクックブックに依存関係がある場合は依存するクックブックもダウンロードしてくれるみたいです。
Java業界で言うところのMavenとかGradleのようなものですかね。

実行環境

Windows7 64bit
Chef、Vagrant、VirtualBox

Berkshelfのインストール

コマンドラインから以下のコマンドを実行します。

gem install berkshelf

自分の環境では3.1.3がインストールされました。ちなみに2系と3系ではコマンドの使い方が異なるので、注意が必要です。
今回はバージョン3に合わせて書きます。

Verksfileの作成

作業ディレクトリ、自分はVagrantfileがあるフォルダに「Berksfile」というファイルを作成してJavaのクックブックのインポートを宣言します。

source "https://api.berkshelf.com"

cookbook 'java'

berksコマンドの実行

berksコマンドを使ってクックブックのインポートを行いますが、コマンドを実行する前に作業フォルダとして指定するフォルダが存在する場合は削除します。
今回はcookbooksフォルダを指定しますので、すでに存在している場合は削除します。

berks vendor cookbooks

と実行すると、cookbooksフォルダにJavaフォルダが作成されました。

ノードに追加

ノードオブジェクトにJavaのクックブックを追加します。

{
  "java": {
    "install_flavor": "oracle",
    "jdk_version": 7,
    "oracle": {
      "accept_oracle_download_terms": true
    }
  },
  "run_list": [
    "recipe"
  ]
}

また、今回は適当に指定しましたが、インストールオプションはかなり細かく指定できます。
socrata-cookbooks/java
今回のJavaのクックブックのバージョンは1.22.0なのですが、Oracle JDKのverion7を指定するとインストールされるバージョンは“1.7.0_51”となりました。
試してないのですが、特定のバージョンをインストールする場合はバージョンとチェックサムを指定すればインストールできるのではないかと思います。

実行

knife solo cookコマンドで実行します。
ターミナルでログインしてjava -versionでバージョンが表示されているとインストール完了です。

-Provisioner
-

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

AnsibleでWordPress環境を構築する

AnsibleでWordPressの動作環境を構築するplaybookを書きました。 Ansibleが2.0系になってからしっかりとつかっていなかったのと、今使っているVPSで稼働しているOSがCen …

AnsibleでZabbixSever3.0の環境を構築する

最近、何のブログかわからなくなってきておりますが、久々のAnsibleネタです。 AnsibleでZabbixServer3.0を構築するPlaybookを書きました。 playbook-zabbix …

ChefでOracle Javaをバイナリインストール

コミュニティークックブックにJavaのクックブックがあるのですが、今回はこれを使わずに独自でOracle Javaをインストールするレシピを書いてみました。 なんというか、大人の事情でJavaのインス …

Windows7 64bitでChefとKnife-soloを実行

MacであればVagrantとChefの環境は比較的簡単に構築できます。 ですが会社だと政治的な理由?からどうしてもMacを利用できない。けどVagrantとChefを使いたいということがあるのではな …

ChefでTomcatをインストールする(パッケージインストール)

Chef実践入門を第三章まで読み進めました。 2章は実際にChefを動かしてみてどういうものかとりあえず触ってみる章でしたが、3章はRecipeの書き方など2章で書いて動いていた部分を詳細に説明する章 …