J'ai deux scripts dans l'étape de pré-construction dans un travail Jenkins, le premier un script Perl, le second un script groovy système utilisant le plugin groovy. J'ai besoin d'informations du premier script Perl dans mon deuxième script groovy. Je pense que la meilleure façon serait de définir une variable d'environnement, et je me demandais comment cela peut être réalisé.
Ou tout autre meilleur moyen.
Merci pour votre temps.
La manière de propager les variables d'environnement entre les étapes de construction est via EnvInject Plugin .
Voici quelques réponses précédentes qui montrent comment procéder:
Dans votre cas, cependant, il peut être plus simple d'écrire dans un fichier dans une étape de génération et de lire ce fichier dans une autre. Pour vous assurer de ne pas lire accidentellement à partir d'une version précédente du fichier, vous pouvez incorporer BUILD_ID
dans le nom du fichier.
En utilisant EnvInject Plugin à partir de la configuration du travail, vous devez utiliser Inject environment variables to the build process / Evaluated Groovy script
.
Selon la configuration, vous pouvez exécuter la commande Groovy
ou Shell
et l'enregistrer dans une carte contenant des variables d'environnement:
En obtenant le résultat de la commande avec la méthode execute
:
return [DATE: 'date'.execute().text]
ou avec Groovy
équivalent s'il en existe un:
return [DATE: new Date()]