J'ai jeté un oeil sur BerkShelf documentation. J'ai été capable de comprendre que cela signifie gérer les dépendances de livres de recettes. Donc, je suppose que je voudrais construire une machine avec Java. J'ai d'abord généré mon livre de recettes personnalisé:confondu avec berkshelf, chef et vagabond
chef generate cookbook custom-java
Mon Berksfile
est:
source 'https://supermarket.chef.io'
metadata
cookbook 'java'
et mon metadata.rb
est:
name 'custom-java'
...
version '0.1.0'
Après cela, je suis tout simplement courir berks install
, alors toutes les dépendances ont été résolues et situées sous ~\.berkshelf\cookbooks
.
Néanmoins, je ne comprends pas très bien comment utiliser mon custom-java
dans ma configuration vagabonde. Que dois-je faire pour que le vagabond dispose ce livre de recettes dans mes machines?
Ma structure est errante:
VagrantFile
├───chef
│ ├───cookbooks
│ │ ├───(((1))) <<<<<<<<<<<<<<<<<<<<<<
│ ├───roles
│ │ ├───java-dev-workstation.rb
contenu Vagrantfile
est:
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.provision "chef_solo" do |chef|
chef.roles_path = "chef/roles"
chef.cookbooks_path = "chef/cookbooks"
chef.add_role "java-dev-workstation"
end
end
Et java-dev-workstation.rb
:
name "java-dev-workstation"
default_attributes(
# Because it's Oracle, we need to agree to the terms and conditions.
:custom-java => { >>>>>>>>> (((2)))
:install_flavor => 'oracle',
:jdk_version => '8',
:accept_license_agreement => true,
:oracle => { "accept_oracle_download_terms" => true }
}
)
run_list(
"recipe[java]"
)
J'utilise chef 18/12/31.
- Sur
(((1)))
: Ai-je besoin "importer" mon livre de recettescustom-java
, comment? Où est-il situé? - Sur
(((2)))
: Comment configurerjava
?
EDIT J'ai mis chef.cookbooks_path
:
config.vm.provision "chef_solo" do |chef|
chef.roles_path = "chef/roles"
chef.cookbooks_path = 'D:\projects\living\vagrant\production\berk\custom-java'
chef.add_role "java-dev-workstation"
end
EDIT2
Néanmoins, custom-java
dépendances ne sont pas résolus aujourd'hui:
================================================================================
Error Resolving Cookbooks for Run List:
================================================================================
Missing Cookbooks:
------------------
No such cookbook: yum
Expanded Run List:
------------------
* custom-java
Platform:
---------
x86_64-linux
Mon contenu metadata.rb
est:
name 'berk'
...
version '0.1.0'
supports 'centos'
depends 'yum'
Actuellement, toutes les dépendances sont situées dans ~/.berkshelf/cookbooks
. Il semble shef-solo
ne cherche pas dans ce ...
Vous pouvez ajouter 'custom-java' à la liste run_list du rôle' java-dev-workstation.rb'. –
Comment le vagabond va-t-il résoudre le livre de recettes 'custom-java' si je ne l'ai pas uploadé ailleurs? – Jordi
vous approvisionnez avec 'chef_solo' et fournissez' cookbooks_path' - c'est suffisant. –