2016-11-01 20 views
0
私は戦争がそうここにアップロードされたときからスクリプトを実行しようとしています

は、私はすべてのものを試してみましたが、展開常に実行に失敗しは、AWSで.ebextensionsフォルダからスクリプトを実行Elastic Beanstalkで

container_commands: 
    01_setup_apache: 
     command: "cp .ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf" 
    02_setup_script: 
     command: "sudo su root" 
    03_setup_script: 
     command: "sudo mkdir -p /home/dev" 
    04_setup_script: 
     command: "sudo chmod 777 /home/dev -R" 
    05_setup_script: 
     command: "sudo cp .ebextensions/scripts/setup.sh /home/dev/" 
    06_setup_script: 
     command: "sudo chmod +x /home/dev/setup.sh" 
    07_setup_script: 
     command: "sudo /home/dev/setup.sh" 
    08-restart-apache: 
     command: "sudo /etc/init.d/httpd restart" 

構成の内容ですsetup.sh。上記の例では、ここで07_setup_script

に失敗したログの内容

] : Starting activity... 
/Command 01_setup_apache] : Starting activity... 
/Command 01_setup_apache] : Completed activity. 
/Command 02_setup_script] : Starting activity... 
/Command 02_setup_script] : Completed activity. 
/Command 03_setup_script] : Starting activity... 
/Command 03_setup_script] : Completed activity. 
/Command 04_setup_script] : Starting activity... 
/Command 04_setup_script] : Completed activity. 
/Command 05_setup_script] : Starting activity... 
/Command 05_setup_script] : Completed activity. 
/Command 06_setup_script] : Starting activity... 
/Command 06_setup_script] : Completed activity. 
/Command 07_setup_script] : Starting activity... 
/Command 07_setup_script] : Activity execution failed, because: sudo: unable to execute /home/dev/setup.sh: No such file or directory 
    (ElasticBeanstalk::ExternalInvocationError) 

インスタンス上のsshそこにはフォルダがありませんか、あそこ(/ホーム/ devのを)ファイルまたは(/ホーム/ devの場合あり/setup.sh)これまでのコマンドは実行されなかったようですが、ログには完了が表示されているようです

実行時にスクリプトファイルを作成する方法はありますが、これを回避して上記の方法を使用できます。

答えて

2

いくつかの問題があります。ホームディレクトリ/ディレクトリ構造をまったく管理しようとするべきではありません。それは間違いなく、ベストプラクティスのベストプラクティスの外にあります。また、sudoとして実行しないで、rootとしてフックを実行します。 、

container_commands: 
    01_restart_httpd: 
    command: /etc/init.d/httpd restart 

files: 
    /etc/httpd/conf.d/enable_mod_deflate.conf: 
    mode: "000644" 
    owner: root 
    group: root 
    content: | 
     #content of your conf 

かも

files: 
    /etc/httpd/conf.d/enable_mod_deflate.conf: 
    mode: "000644" 
    owner: root 
    group: root 
    content: | 
     #content of your conf 

    /opt/elasticbeanstalk/hooks/appdeploy/post/50_restart_httpd: 
    mode: "000777" 
    owner: root 
    group: root 
    content: | 
     #!/bin/sh 
     /etc/init.d/httpd restart 
+0

はいそれは私が現在(実行時ファイルの作成をしてデータを追加)やっているものです:

.ebextension/foo.config中:

はこのような何かを私はshファイルを実行したい。 –

+0

配備後のファイルが/ optにある場所を見つけてそこに置いてください。例 –

+0

長い話はホームディレクトリを作成/管理しようとしていません。これは "豆の道"ではありません。適切な方法は、私が答えに載せた例の組み合わせです。 –

関連する問題