Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
prog:jenkins [2018/09/17 01:10] – [Afficher sous forme de graph la durée de tests unitaires] : précision pour xUnit root | prog:jenkins [2020/06/01 09:03] (Version actuelle) – [Docker] : précision sur l'utilisation des ports root |
---|
=====Première exécution===== | =====Première exécution===== |
[[https://blog.pascal-martin.fr/post/integration-continue-jenkins-installation-configuration.html|Intégration continue avec Jenkins : installation et configuration de base]] {{ :prog:jenkins:integration_continue_avec_jenkins_installation_et_configuration_de_base_pascal_martin_developpement_web_php.mhtml |Archive 16/09/2018}} | [[https://blog.pascal-martin.fr/post/integration-continue-jenkins-installation-configuration/|Intégration continue avec Jenkins : installation et configuration de base]] {{ :prog:jenkins:integration_continue_avec_jenkins_installation_et_configuration_de_base_2020-04-26_12_07_59_am_.html |Archive du 26/09/2011 le 27/04/2020}} |
| |
Installation sur ''Gentoo'' : paquet ''jenkins-bin''. | ====Gentoo==== |
| Installer le paquet ''jenkins-bin''. |
| |
Exécution : | Exécution : |
systemctl start jenkins | systemctl start jenkins |
| |
Le premier mot de passe est dans ''/var/log/jenkins/jenkins.log'' ou ''/var/lib/jenkins/home/secrets/initialAdminPassword''. | ====Docker==== |
| |
Installer les plugins suggérés. On verra plus tard pour la suite. Dans mon cas, j'ai eu d'installé : Folders, OWASP Markup Formatter, Build Timeout, Credentials Binding, Timestamper, Workspace Cleanup, Ant, Gradle, Pipeline, GitHub Branch Source, Pipeline: GitHub Groovy Libraries, Pipeline: Stage View, Git, Subversion, SSH Slaves, Matrix Authorization Strategy, PAM Authentication, LDAP, Email Extension, Mailer. | [[https://hub.docker.com/r/jenkins/jenkins|jenkins/jenkins sur Docker.com]] |
| |
| Version weekly : ''docker pull jenkins/jenkins'' |
| |
| Version LTS : ''docker pull jenkins/jenkins:lts'' |
| |
| Il est possible d'utiliser 2 ports ''-p 8080:8080 -p 50000:50000'' : |
| * Le port ''8080/tcp'' est utilisé pour l'interface web, |
| * Le port ''50000/tcp'' est utilisé par JNLP (Java Network Launching Protocol de Java Web Start) |
| ====Premier lancement==== |
| |
| Le premier mot de passe est dans ''/var/log/jenkins/jenkins.log'', ''/var/lib/jenkins/home/secrets/initialAdminPassword'' ou dans le log de la console Docker. |
| |
| Installer les plugins suggérés. |
| |
Après avoir tapé une fois le mot de passe, il ne semble plus valable. Mieux vaut créer un compte directement. | Après avoir tapé une fois le mot de passe, il ne semble plus valable. Mieux vaut créer un compte directement. |
| |
=====Utiliser le plugin CMake===== | =====Utiliser le plugin CMake===== |
[[https://schneide.blog/2017/12/11/integrating-catch2-with-cmake-and-jenkins/|Integrating catch2 with CMake and Jenkins]] {{ :prog:jenkins:integrating_catch2_with_cmake_and_jenkins_schneide_blog.mhtml |Archive 16/09/2018}} | [[https://schneide.blog/2017/12/11/integrating-catch2-with-cmake-and-jenkins/|Integrating catch2 with CMake and Jenkins]] {{ :prog:jenkins:integrating_catch2_with_cmake_and_jenkins_schneide_blog_2020-04-26_11_56_38_pm_.html |Archive du 11/12/2017 le 26/04/2020}} |
| |
=====Afficher sous forme de graph la durée de tests unitaires===== | =====Afficher sous forme de graph la durée de tests unitaires===== |
[[https://stackoverflow.com/questions/21633716/producing-ctest-results-in-jenkins-xunit-1-58|Producing CTest results in Jenkins]] {{ :prog:jenkins:cmake_-_producing_ctest_results_in_jenkins_xunit_1.58_-_stack_overflow.mhtml |Archive 16/09/2018}} | [[https://stackoverflow.com/questions/21633716/producing-ctest-results-in-jenkins-xunit-1-58|Producing CTest results in Jenkins]] {{ :prog:jenkins:cmake_-_producing_ctest_results_in_jenkins_xunit_1.58_-_stack_overflow_2020-04-26_11_56_54_pm_.html |Archive du 07/02/2014 le 26/04/2020}} |
| |
| Cela permet d'extraire sous forme de CSV les temps de chaque test unitaire avec le plugin xUnit. |
| |
| Une nouvelle rubrique apparait alors ''Résultats des tests'' et une fois à l'intérieur il est possible d'afficher l'historique des temps sous forme de graph via ''Historique''. |
| |
| {{:prog:jenkins:capture_d_ecran_de_2018-09-16_23-58-41.png|}} |
| {{:prog:jenkins:capture_d_ecran_de_2018-09-17_00-05-45.png|}} |
| |
| =====Remplacer le nom de la build par le numéro du commit git===== |
| Utiliser le plugin ''build-name-setter'' puis ajouter dans ''Build Step'' un ''Update build name'', ''Use macro'' et mettre ''#${GIT_COMMIT}'' pour mettre automatiquement le commit. |
| |
| =====Doxygen===== |
| Voir [[http://www.yolinux.com/TUTORIALS/Jenkins-Cpp-builds.html|Jenkins for C++]] {{ :prog:jenkins:jenkins_for_c_builds_2020-04-26_11_57_13_pm_.html |Archive du 2014 le 26/04/2020}} |
| |
Cela permet d'extraire sous forme de CSV les temps de chaque test unitaire avec le plugin xUnit. Une nouvelle rubrique apparait alors ''Résultats des tests''. | Heureusement, il y a une option pour ne garder que la dernière version de la documentation générée par Doxygen. |
| |
| Il faut commencer par ajouter une installation avec ''Administrer Jenkins|Configuration globale des outils|Doxygen'' et mettre ''/usr/bin/doxygen'' (faire fi du message d'erreur). |
| |
| <WRAP center round important 60%> |
| Il y a un problème de sécurité. |
| |
| Pour Firefox, dans ''about:config'' mettre ''security.csp.enable'' à ''false''. |
| |
| </WRAP> |
| |