2017-10-16 8 views
0

J'utilise un jenkinsfile pour tester l'une de nos instances. Pour cela j'ai créé un script bash. Le problème est que jenkins n'a pas les permissions pour exécuter le script. Une idée de comment résoudre ce problème?Autorisation refusée erreur - jenkins (script shell)

Jenkinsfile:

stage("Testing instances"){ 
    if (terragruntAction == 'apply' || terragruntAction == 'test'){ 
     echo "Testing" 
     sh '../check_services.sh' 
    } 
} 

sortie:

../check_services.sh: Permission denied

J'ai essayé de le faire:

git update-index --chmod=+x check_services.sh 

sur la git dossier qui est passé en caisse par Jenkins mais pas de chance.

Toute aide, merci d'avance!

+0

Avez-vous inclus '#/bin/bash' comme interpréteur de processus sur le première ligne de votre script? Si vous l'avez rendu exécutable à vous-même ou au groupe dont il est propriétaire avec ('chmod 0755 filename'), il peut avoir du mal à déterminer l'interpréteur correct. –

+0

L'utilisation de 'sh check_services.sh' nécessite des autorisations de lecture, au lieu d'exécuter –

+0

try ssh'ng dans l'hôte, puis de modifier les autorisations. Git pourrait également ne pas avoir la permission de changer les permissions. Changement manuel peut faire le travail, ou vous pouvez également changer le propriétaire du script à jenkins –

Répondre

0

je l'ai eu à travailler avec l'ajout de ce à git: update-index git --chmod = + x check_services.sh