Ich bin mit einem seltsamen Problem konfrontiert. Mein nachfolgendes Kochrezept schlägt fehl, wenn der Koch aus Benutzerdaten ausgeführt wird (cloud-init).composer.phar installieren Probleme (cloudinit vs Handbuch)
Es fragt nach HOME/COMPOSER_HOME env Variable.
Allerdings läuft es gut, wenn ich einen manuellen Chef-Client vom SSH-Terminal ausführen (oder sogar die Befehle direkt am Terminal ausführen).
PS: composer.phar und composer.json werden von Entwicklern (Gebündelte in Word zip)
== == Rezept Schnipsel bereitgestellt
# Install Composer
script "install_composer" do
interpreter "bash"
user "root"
cwd "#{node.apache.default_docroot}/html"
code <<-EOH
/opt/rh/rh-php56/root/usr/bin/php composer.phar install
EOH
not_if {File.exists?("#{node.default_docroot}/html/composer.lock")}
end
== Wenn von SSH-Terminal laufen ==
* script[install_composer] action run
- execute "bash" "/tmp/chef-script20160722-5397-1sjwxg9"
== Wolke-Init-Output.log sni PPET ==
================================================================================
Error executing action `run` on resource 'script[install_composer]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of "bash" "/tmp/chef-script20160722-2013-r6sdpo" ----
STDOUT:
STDERR: [RuntimeException]
The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly
---- End output of "bash" "/tmp/chef-script20160722-2013-r6sdpo" ----
Ran "bash" "/tmp/chef-script20160722-2013-r6sdpo" returned 1
Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/webps-commportal/recipes/wordpress.rb
49: script "install_composer" do
50: interpreter "bash"
51: user "root"
52: cwd "#{node.apache.default_docroot}/html"
53: code <<-EOH
54: /opt/rh/rh-php56/root/usr/bin/php composer.phar install
55: EOH
56: not_if {File.exists?("#{node.apache.default_docroot}/html/composer.lock")}
57: end
58:
Compiled Resource:
------------------
# Declared in /var/chef/cache/cookbooks/webps-commportal/recipes/wordpress.rb:49:in `from_file'
script("install_composer") do
action "run"
retries 0
retry_delay 2
guard_interpreter :default
command "\"bash\" \"/tmp/chef-script20160722-2013-r6sdpo\""
backup 5
cwd "/opt/rh/httpd24/root/var/www/html"
returns 0
user "root"
code "\t/opt/rh/rh-php56/root/usr/bin/php composer.phar install\n"
interpreter "bash"
cookbook_name "webps-commportal"
recipe_name "wordpress"
not_if { #code block }
end
---- Begin output of "bash" "/tmp/chef-script20160722-2013-r6sdpo" ----
STDOUT:
STDERR: [RuntimeException]
The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly
---- End output of "bash" "/tmp/chef-script20160722-2013-r6sdpo" ----
Ran "bash" "/tmp/chef-script20160722-2013-r6sdpo" returned 1
Lassen Sie mich es versuchen. Ich werde mit den Ergebnissen zurückkommen. Danke – charsidrogo
Woot das hat funktioniert !!! '[2016-07-22T06: 14: 58-04: 00] INFO: Verarbeitung Skript [install_composer] aktion run (webps-commportal :: Wordleitung 49) [2016-07-22T06: 15: 25 -04: 00] INFO: script [install_composer] lief successfully' == Aktualisiert Koch Ressourcenblock == 'script "install_composer" do \t Interpreter "bash" \t Benutzer "root" \t Umwelt‚HOME '=> "/ root" \t cwd "# {node.apache.default_docroot}/html" \t code << - EOH \t/opt/rh/rh-php56/root/usr/bin/php --no-progress \t EOH \t not_if {File.Exists? ("# {Node.apache.default_docroot}/html composer.phar installieren /composer.lock ")} Ende' – charsidrogo
Kommentare behalten Formatierung nicht bei, aber froh, dass es funktioniert hat :) – coderanger