2016-07-29 1 views
0

Contexte: Je fais face à cette erreur AWS codedeploy deployment throwing "[stderr] Could not open input file" while trying to invoke a php file from the sh file at afterInstall stepQuel est l'utilisateur par défaut que codedeploy exécute les scripts hook?

Dans l'étape AfterInstall, je suis en train d'exécuter un fichier php à partir du fichier afterInstall.sh et je reçois cette erreur - Impossible d'ouvrir le fichier php.

Je ne sais pas exactement quoi faire. Pensé d'essayer de vérifier manuellement si je pouvais exécuter le fichier en tant que cet utilisateur. Runas est un fichier optionnel déposé dans le fichier AppSpec.

Répondre

1

L'utilisateur par défaut de l'agent CodeDeploy est root.

La liste de répertoires ci-dessous indique la propriété des fichiers déployés dans leur dossier de destination, /tmp, après un déploiement réussi.

[email protected]:~$ ls -l /tmp 
total 36 
-rw-r--r-- 1 root root 85 Aug 2 05:04 afterInstall.php 
-rw-r--r-- 1 root root 78 Aug 2 05:04 afterInstall.sh 
-rw-r--r-- 1 root root 1397 Aug 2 05:04 appspec.yml 
-rw------- 1 root root 3189 Aug 2 05:07 codedeploy-agent.update.log 
drwx------ 2 root root 16384 Aug 2 03:01 lost+found 
-rw-r--r-- 1 root root 63 Aug 2 05:04 out.log 
1
  • L'utilisateur à usurper l'identité lors de l'exécution du script. Par défaut, il s'agit de l'agent AWS CodeDeploy s'exécutant sur l'instance (si vous ne spécifiez pas d'utilisateur non root, ce sera root). Pour exécuter l'agent hôte en tant qu'utilisateur non-root, la variable d'environnement CODEDEPLOY_USER doit être définie, comme le montre le code source de l'agent hôte link. La variable d'environnement peut être définie sur l'utilisateur que vous voulez que l'agent hôte exécute.