Sto tentando di eseguire alcuni script durante la distribuzione utilizzando AWS Code Deploy, ma non vengono mai eseguiti perché non dispongono delle autorizzazioni per eseguire gli script.Il codice AWS distribuisce gli script non riusciti a causa delle autorizzazioni
Ecco il mio file appspec.yml:
version: 0.0
os: linux
files:
- source:/
destination: /var/www/html
permissions:
- object: /var/www/html/codedeploy-scripts
owner: root
mode: 777
type:
- directory
hooks:
ApplicationStop:
- location: codedeploy-scripts/application-stop
timeout: 300
runas: root
BeforeInstall:
- location: codedeploy-scripts/before-install
timeout: 300
runas: root
AfterInstall:
- location: codedeploy-scripts/after-install
timeout: 600
runas: root
ApplicationStart:
- location: codedeploy-scripts/application-start
timeout: 300
runas: root
ValidateService:
- location: codedeploy-scripts/validate-service
timeout: 300
runas: root
I codedeploy-cartella Scripts vengono distribuiti con l'applicazione e i permessi ho impostato per la cartella non ottiene impostato. Le autorizzazioni per la cartella vengono sempre ripristinate:
[[email protected] html]$ ls -al
total 156
drwxrwsr-x 7 ec2-user www 4096 Oct 13 16:36 .
drwxrwsr-x 3 ec2-user www 4096 Oct 13 15:01 ..
-rw-rw-r-- 1 ec2-user www 740 Oct 13 16:28 appspec.yml
drwxr-sr-x 2 ec2-user www 4096 Oct 13 16:36 codedeploy-scripts
...
i file nella cartella sembrano avere diritti eseguibili:
[[email protected] alio]$ ls -al codedeploy-scripts
total 28
drwxr-sr-x 2 ec2-user www 4096 Oct 13 16:36 .
drwxrwsr-x 7 ec2-user www 4096 Oct 13 16:36 ..
-rwxr-xr-x 1 ec2-user www 343 Oct 13 16:28 after-install
-rwxr-xr-x 1 ec2-user www 12 Oct 13 16:28 application-start
-rwxr-xr-x 1 ec2-user www 12 Oct 13 16:28 application-stop
-rwxr-xr-x 1 ec2-user www 889 Oct 13 16:28 before-install
-rwxr-xr-x 1 ec2-user www 12 Oct 13 16:28 validate-service
Perché non ottenere il codice distribuito con le autorizzazioni ho impostato nel file appspec. La cartella codedeploy-scripts dovrebbe avere 777 permessi ma non lo fa mai.
Questo è l'errore che ottengo in /var/log/aws/codedeploy-agent/codedeploy-agent.log per ciascuno di questi script:
2015-10-13 16:36:23 WARN [codedeploy-agent(9918)]: InstanceAgent::Plugins::CodeDeployPlugin::HookExecutor: Script at specified location: codedeploy-scripts/validate-service is not executable. Trying to make it executable.
Qualsiasi aiuto sarebbe apprezzato.
ah, sì, impostando il comando di esecuzione in git risolto il problema. Grazie! – gprime
questo non era così ovvio ... ma fantastico .. grazie :) –
@gprime cosa intendi impostando il comando execute in git? Sto affrontando un problema che potrebbe anche essere correlato alle autorizzazioni. Eccolo: http://stackoverflow.com/questions/38616547/aws-codedeploy-deployment-throwing-stderr-could-not-open-input-file-at-after –