2015-10-23 9 views
10

से चलाया जा रहा है IAWS कोड तैनाती में AfterInstall स्क्रिप्ट चलाने की कोशिश कर रहा हूं, लेकिन यह मेरी ऐप निर्देशिका के बजाय/opt/codeedeploy-agent/dir से चलाया जा रहा है।एडब्ल्यूएस कोड डिप्लोमेंट आफ्टरल स्क्रिप्ट कोड-तैनाती एजेंट डीआईआर

यह कैसे appspec.yml फ़ाइल की तरह लग रहा है:

version: 0.0 

os: linux 

files: 
    - source:/
    destination: /tmp/epub 

hooks: 
    AfterInstall: 
    - location: server/install-packages.sh 
     runas: root 

आप इसे एक बुनियादी उदाहरण है देख सकते हैं।

अब, बैश स्क्रिप्ट इस तरह दिखता है:

#!/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 कॉन्फ़िगरेशन कोशिश कर रहा था:

दुर्भाग्य से मैं त्रुटि मिल रही है। हर बार यह/opt/codedeoploy- एजेंट/निर्देशिका से चलाने की कोशिश कर रहा है।

हताशा में, मैं स्क्रिप्ट का निरपेक्ष पथ निर्धारित किया है, लेकिन फिर मुझे मिल गया:

Script does not exist at specified location: /tmp/epub/server/install-packages.sh 

यह वास्तव में कष्टप्रद के रूप में मैं डॉक्स के अनुसार सब कुछ कर रहा हूँ, लेकिन शायद मैं कुछ बहुत याद कर रहा हूँ बहुत छोटा !

धन्यवाद

उत्तर

20

ठीक है,

तो मुझे पता चला गया है, कि codedeoloy-एजेंट उदाहरण तैनात पर एजेंट द्वारा बनाई गई अस्थायी निर्देशिका से AfterInstall (और शायद अन्य सभी कदम) चल रहा है, इसलिए

#!/bin/bash 
cd /tmp/epub/server/ 
npm install 
+0

कहाँ आप इस पता चला: मेरे मामले में मैं सीडी-इंग उचित निर्देशिका में से बैश स्क्रिप्ट को संशोधित करने के लिए था? – artburkart

+2

मुझे याद नहीं है कि मैंने इसे यहां से निष्कर्ष निकाला है: http://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html#app-spec-ref-hooks - शायद वहां है एक वाक्य यह बताता है कि - मुझे याद है कि यह मुझे थोड़ी देर ले गया - या परीक्षणों और त्रुटियों, या दोनों का संयोजन :) – matewilk

+0

@matewilk - सुपर सहायक! – Ben

संबंधित मुद्दे