Où et comment Hudson / Jenkins stocke-t-il les données?

18

J'ai installé Jenkins sur Ubuntu 10.10 et je n'ai trouvé aucune mention de la configuration de la base de données pour la persistance des données.

La première question est donc de savoir où les données sont stockées et, deuxièmement, pouvons-nous configurer Hudson / Jenkins avec mySQL? ou des bases de données similaires?

kamal
la source
Dans un système de fichiers, généralement, quelque chose comme /var/lib/jenkins/, /var/jenkins_home/ou /home/jenkins/.
Ondra Žižka

Réponses:

11

Hudson / Jenkins ne fonctionne pas tout à fait de cette façon. Il stocke les configurations et les informations sur les tâches /var/lib/jenkinspar défaut (si vous utilisez le package .deb). Si vous souhaitez configurer la persistance pour une application spécifique, c'est quelque chose que vous voudrez gérer vous-même - Hudson est un serveur d'intégration continue, pas un framework de test.

Consultez l'article Wiki sur l' intégration continue pour un aperçu de ce à quoi vous attendre.

Andrew M.
la source
2
@Redmumba je comprends que c'est un serveur CI, mais je cherchais simplement la possibilité qu'il soit utilisé pour conduire des tests unitaires et persister les résultats dans une base de données au lieu de fichiers Flar. Comme Jenkins PEUT être utilisé pour conduire et afficher des tests. Des pensées?
kamal
Une build est bien plus qu'une compilation (ou ses variations de langage dynamiques). Une version peut comprendre la compilation, les tests, l'inspection et le déploiement, entre autres. Une build agit comme le processus de rassemblement du code source et de vérification du fonctionnement du logiciel comme unité cohérente.
kamal
1
Comme je l'ai dit, Jenkins n'est qu'un serveur CI - ce n'est pas un framework. À toutes fins utiles, Jenkins exécute simplement des scripts que vous spécifiez - il ne se soucie pas du stockage persistant, des langues que vous utilisez ou même de ce que vous faites. C'est là que je pense que la déconnexion est - Jenkins ne fournit pas de stockage persistant pour votre application, etc.
Andrew M.
1
réf: du livre "Intégration Continue: Beaucoup considèrent CI sans test automatisé et continu comme n'étant pas CI. Nous ne pourrions pas être plus d'accord. Sans tests automatisés, il est difficile pour les développeurs ou autres parties prenantes du projet d'avoir confiance dans les changements logiciels. La plupart les développeurs de projets qui utilisent un système CI utilisent des outils de test unitaire tels que JUnit, NUnit ou d'autres frameworks xUnit pour exécuter des tests. En outre, vous pouvez exécuter différentes catégories de tests à partir d'un système CI pour accélérer vos générations. Ces catégories peuvent inclure unité, composant, système, charge / performance, sécurité et autres
kamal
1
Droite; nous sommes donc sur la même page. Jenkins exécute ces choses - il ne gère pas les couches de persistance, les frameworks de test, les outils de construction (sauf pour ant), etc. Vous devrez construire votre couche de persistance et tester séparément. Jenkins peut représenter graphiquement les unittests s'ils sont générés au format xunit, ce que fournissent les frameworks de test Java; de nombreuses autres langues (comme le nez de Python) seront également produites dans ce format.
Andrew M.
6

Jenkins peut sembler stocker des données, selon ce que font vos scripts et comment.

Par exemple; les scripts qui exécutent vos builds de commit quotidiens peuvent être configurés pour transmettre les résultats "réussite / échec" à Jenkins pour les stocker dans un fichier XML. Ensuite, si vous êtes toujours intéressé à extraire les résultats historiques "réussite / échec" et à les utiliser ailleurs que dans l'interface graphique Jenkins, vous pouvez effectuer un appel dans l'API Jenkins et obtenir un retour de ce XML. Analysez-le et vous avez les données dont vous avez besoin.

Mais - À part cela, Jenkins n'a pas de système de référentiel par lui-même.

De plus, voici les informations de l'API jenkins: https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

Pointe
la source
2

La réponse est que jenkins ne mettra pas cela en place pour vous. Vous devez lui dire comment configurer l'environnement et comment exécuter ses tests. Cela se fait normalement dans la section des étapes de construction. Si vous fournissez plus d'informations sur la plate-forme que vous utilisez, nous pourrions peut-être vous donner une réponse plus concrète. Vous pourriez avoir un script shell qui installera votre application et exécutera ses tests, puis vous l'appelez depuis hudson. Rendre les données de sortie du lanceur de test d'une manière conviviale pour hudson pour enfin obtenir les résultats de vos tests dans l'interface utilisateur Web pour les visualiser.

Jorge Vargas
la source
2

Il stocke les données de votre répertoire personnel dans un .jenkinsrépertoire. Vous pouvez trouver toutes les informations pertinentes relatives à vos builds dans ce répertoire.

Jenkins ne fournit pas de support intégré pour la connexion à une base de données.

user257831
la source