AWSコード配備でAfterInstallスクリプトを実行しようとしていますが、アプリケーションディレクトリではなく/ opt/codedeploy-agent/dirから実行されています。あなたはそれが基本的な例です見ることができるようにAWS CodeDeploy AfterInstallスクリプトをコード配布エージェントディレクトリから実行しています
version: 0.0
os: linux
files:
- source:/
destination: /tmp/epub
hooks:
AfterInstall:
- location: server/install-packages.sh
runas: root
:
これはappspec.ymlファイルはどのように見えるかです。
は今、bashスクリプトは次のようになります。
#!/bin/bash
npm install
は、私はちょうどインストールNPMにしたいと、それはそれです。
残念ながら、私はエラーを取得しています:
LifecycleEvent - AfterInstall
Script - server/install-packages.sh
[stderr]npm ERR! install Couldn't read dependencies
[stderr]npm ERR! Linux 3.13.0-48-generic
[stderr]npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
[stderr]npm ERR! node v4.2.1
[stderr]npm ERR! npm v2.14.7
[stderr]npm ERR! path /opt/codedeploy-agent/package.json
[stderr]npm ERR! code ENOPACKAGEJSON
[stderr]npm ERR! errno -2
[stderr]npm ERR! syscall open
[stderr]
[stderr]npm ERR! package.json ENOENT: no such file or directory, open '/opt/codedeploy-agent/package.json'
[stderr]npm ERR! package.json This is most likely not a problem with npm itself.
[stderr]npm ERR! package.json npm can't find a package.json file in your current directory.
[stderr]
[stderr]npm ERR! Please include the following file with any support request:
[stderr]npm ERR! /opt/codedeploy-agent/npm-debug.log
私はrunasコマンドを追加したり、ロケーション・パスの先頭に「/」を加えるような異なるappspec.ymlのconfigsをしようとしていました。いつでも/ opt/codedeoploy-agent /ディレクトリから実行しようとしています。必死で
は、私は、スクリプトの絶対パスを設定したが、その後、私が得た:
Script does not exist at specified location: /tmp/epub/server/install-packages.sh
それは私がドキュメントによると、すべてをやっている、おそらく、私は非常に何かが欠けていると、本当に迷惑なんです非常に少ない !だから私は出て見つけた
おかげ
あなたはこれをどこから見つけましたか? – artburkart
ここから結論を出すのは覚えていません。http://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html#app-spec-ref-hooks - おそらくあります1つの文章 - 私はそれがかなり長い間、あるいは試行錯誤、または両方の組み合わせによって起こったことを覚えています:) – matewilk
@matewilk - super helpful! – Ben