menu
書いてる野郎
orebike@gmail.com
まとりあえず
$ vagrant init hogehoge $ vagrant up
で動かせるところまでもってきておく
Berksfile を作る。内容は
source "https://api.berkshelf.com" cookbook 'jenkins'
こんな感じ。外部から Cookbook を取ってくることにして jenkins をインストールしてみる
指定した Cookbook をホスト側(Mac)へダウンロードしてみる
$ chef exec berks vendor cookbooks
これで Berkfile.lock ファイルが生成される。これは Gemfile.lock と一緒で Berkfile の定義に基いて実際に必要な cookbook が決定されたものが記述される。 そして cookbooks ディレクトリへ依存性を全部解決した上でのcookbook本体がダウンロードされる
そして Vagrantfile に
config.vm.provision "chef_solo" do |chef| chef.cookbooks_path = "./cookbooks" chef.add_recipe "jenkins::java" chef.add_recipe "jenkins::master" end config.vm.provision :shell do |shell| shell.inline = "sudo systemctl stop firewalld" end config.vm.network "forwarded_port", guest: 8080, host: 8090 config.omnibus.chef_version = :latest
このように書き足すと起動時に自動的にインストールされる。 ポイントとしてはここで指定するのは Cookbook ではなく recipe ということだ。 インストールできたら、ホストとのネットワークをポート転送で繋いでファイアーウォールを落としている。