Définissez la variable d'environnement pour construire dans l'hudson
Je suis en train d'essayer de mettre un maven2 projet dans le cadre de l'intégration continue dans l'hudson.
Le projet utilise le sélénium pour certains tests d'intégration.
Hudson est en cours d'exécution sur une tête de linux.
Je suis à l'aide de xvfb pour lancer un serveur x session pour le sélénium.
Pour exécuter les tests, j'ai besoin d'exporter une variable d'environnement nommée d'AFFICHAGE.
par exemple,
export DISPLAY=:99
Cependant, je ne veux pas définir la variable sur la boîte car il aurait une incidence sur toutes les versions.
J'ai essayé de faire un shell à exécuter à l'aide de la m2 étapes supplémentaires plugin mais il ne marche pas depuis qu'elle est exécutée dans un autre fichier bash, ce qui signifie que les variables d'environnement ne sont pas conservées.
Est-il un moyen d'enregistrer la variable d'environnement à partir d'hudson.
OriginalL'auteur pbreault | 2009-08-25
Vous devez vous connecter pour publier un commentaire.
Il y a une nouvelle fonctionnalité à Hudson, qui permet de spécifier paramètres pour les versions. Il semble que ça ne ce que vous voulez.
Bien noter que:
vous êtes l'amalgame entre la lecture et le paramétrage des variables d'environnement. La question posée de savoir comment définir une variable et le mécanisme décrit est exactement ce que fait. Dans votre exemple, vous faites à la fois un jeu et un lire, ce qui n'était pas demandé.
Vendeur - toutes mes Excuses, monsieur. J'ai fait un peu de travail sur ce présent, et seront élaborées dans une réponse sous (car il n'y a pas assez de place dans un commentaire).
OriginalL'auteur Rich Seller
pour info, je suis en libérant le setenv plugin pour Hudson aujourd'hui (en supposant que java.net récupère assez pour moi de le faire!) - il se comporte de façon similaire à la paramétrée construire de fonctionnalités, mais avec une plus simple de l'INTERFACE utilisateur (juste un textarea pour l'entrée - des paires clé/valeur sont séparés par des retours à la ligne), et sans la nécessité de fournir des valeurs pour les paramètres au moment de la construction.
OriginalL'auteur abayer
Hudson Propriétés du Nœud ferait un bon travail ici. Mais si vous êtes à la recherche pour l'automatisation de la manière d'attribuer le numéro de l'écran, vous aurez besoin de faire un peu plus, peut-être attachant dans le port-allocateur de plugin, ou l'écriture d'un nouveau BuildWrapper plugin qui démarre xvfb automatiquement, et définit la variable d'environnement au nom de la construction.
Si vous êtes prêt à passer à un autre serveur X pour les tests, vous pouvez essayer le Xvnc plugin pour Hudson. Il va commencer la vncserver automatiquement et l'ÉCRAN de la variable d'environnement. Il a également la capacité de prendre une capture d'écran lorsque les tests sont finis, et de montrer que le travail d'Hudson page.
PATH
?Je vous suggère de commencer une toute nouvelle question.
Il n'y a aucun moyen de le faire si la nouvelle valeur de la variable, doivent survivre à la version actuelle de l'étape.
OriginalL'auteur Michael Donohue
J'ai trouvé à l'exécution de sélénium à l'aide de
xvfb-run
à être plus fiable que le réglage de l'AFFICHAGE, de sorte que cela pourrait fonctionner pour vous. Donc:OriginalL'auteur Paul Biggar
Avez-vous essayé d'utiliser le sélénium plugin maven?
Le plugin peut être configuré pour démarrer à Xvfb, exécuter les tests et puis l'arrêter.
à l'aide de cette pom.xml configuration:
les détails sont ici:
http://mojo.codehaus.org/selenium-maven-plugin/examples/headless-with-xvfb.html
OriginalL'auteur Sigmar
Comme par ma réponse à la accepté de répondre, voici mes conclusions.
Méfiez-vous de l'Onu-initialisation des Variables
Lors de l'utilisation du Paramétrage de la fonctionnalité dans l'Hudson, vous pouvez ajouter des variables d'environnement à la fin d'une chaîne, à condition qu'ils contiennent quelque chose dans la première place.
Par exemple, si la variable d'environnement $FOO est vide, et vous utilisez la ligne suivante dans un Paramètre de Chaîne de...
alors la variable d'environnement va lire le fichier /usr/bin/ladeda/:$F00.
Cependant, si je n'ai
puis exportés variable serait....
Quand j'ai d'abord couru ce qu'un test, je n'avais pas travaillé sur cela - et donc de la pensée de la fonction de paramètre n'a pas été accepter externes variables d'environnement, alors qu'elle était (ils avaient juste à contenir quelque chose).
OriginalL'auteur Spedge