Im essayant d'obtenir le chemin absolu d'un fichier .py pour accéder à un autre fichier qui se trouve dans le même répertoire (/ files). Tous les fichiers sont montés dans un conteneur Docker dans le cadre d'un pipeline jenkins. Dans ...

1
Hector Lorenzo 15 mars 2021 à 08:42

1 réponse

Meilleure réponse

Jenkins créera un nouveau dossier temporaire appelé workspace pour chaque instance de build spécifique. Par conséquent, votre code est vraiment en /tmp/.tmpAA7qY3. Puisque vous exécutez dans le dossier tmp, il n'est pas étrange que le __file__ se résolve à ce chemin.

Vous devez savoir où se trouve exactement le fichier que vous recherchez par rapport à votre dossier temporaire ou sous forme de chemin absolu. Si vous ne contrôlez pas la façon dont le fichier a été créé, le plus simple est d'exécuter find / -name result.txt et d'obtenir le résultat.

Si le fichier est créé à une autre étape du flux de pipeline Jenkins, le fichier peut ne pas se trouver dans le conteneur car chaque étape peut créer son propre conteneur comme expliqué ici.

0
jordanvrtanoski 15 mars 2021 à 06:38