2017-01-18 9 views
0

インスタンスの開始とアプリケーションのデプロイメントでコンポーザーをインストールする必要があるAWS Opsworksセットアップがありますが、インストールは失敗します。誰も私がこれを癒すのを助けることができますか? 私はこのシェフのレシピを実行している:Opsworksがコンポーザーエラーをインストールする

node[:deploy].each do |app_name, deploy| 
    script "install_composer" do 
    interpreter "bash" 
    user "ubuntu" 
    cwd "#{deploy[:deploy_to]}/current" 
    code <<-EOH 
    curl -sS https://getcomposer.org/installer | php 
    php composer.phar install --no-dev 
    EOH 
    only_if { ::File.exists?("#{deploy[:deploy_to]}/current/composer.json") } 
    end 
end 

私は(ライン21はscript "install_composer" doを有するものである)次のエラーを受けています。

[2017-01-18T11:16:38+00:00] ERROR: Running exception handlers 
[2017-01-18T11:16:38+00:00] ERROR: Exception handlers complete 
[2017-01-18T11:16:38+00:00] FATAL: Stacktrace dumped to /var/lib/aws/opsworks/cache.stage2/chef-stacktrace.out 
[2017-01-18T11:16:38+00:00] ERROR: script[install_composer] (composer::install line 21) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1' 
---- Begin output of "bash" "/tmp/chef-script20170118-1672-16lyp81" ---- 
STDOUT: All settings correct for using Composer 
The installation directory "/srv/www/[app_name]/releases/20170113140255" is not writable 
Could not open input file: composer.phar 
STDERR: 
---- End output of "bash" "/tmp/chef-script20170118-1672-16lyp81" ---- 
Ran "bash" "/tmp/chef-script20170118-1672-16lyp81" returned 1 
[2017-01-18T11:16:38+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

私は、スクリプトを構築するためにこれらの例の組み合わせを使用:

https://github.com/awslabs/opsworks-example-cookbooks/blob/master/phpapp/recipes/appsetup.rb https://github.com/onema/opsworks-chef-cookbooks/blob/master/composer/recipes/install.rb

セットアップは、Ubuntuのインスタンス上で実行されます。インスタンスはsetup_failedを報告します。カスタムレシピを無効にすると、インスタンスが正常に起動します。

The installation directory "/srv/www/[app_name]/releases/20170113140255" is not writableに表示されるアプリは、私のアプリリストの4番目のアプリですが、最初にコンポーザーにインストールするはずのもの(composer.jsonが含まれています)です。

あなたが私を助けてくれることを願っています。ありがとう。

答えて

0

私は、ユーザーがレシピに「ubuntu」ではなく「root」であるはずであると認識したときに解決しました。 ubuntuユーザーは、単にリリースフォルダに新しいフォルダを作成するための十分な権限を持っていませんでした。

関連する問題