Ver código fonte

maj documents Jenkins et readme

olivier.massot 8 anos atrás
pai
commit
337e3f6891

+ 0 - 42
Autres/Python/python-ci.md

@@ -1,42 +0,0 @@
-
-# Tester, contrôler, et déployer son code python en intégration continue
-
-> Testé avec python 3.4, et python 3.6
-
-## Pré-requis:
-
-Installer les librairies suivantes sur la machine de test:
-
-Requis:
-
-* nose2 > `pip install nose2`
-* cov-core > `pip install cov-core`
-
-* pylint > `pip install pylint` (préinstallé en 3.6)
-> si ImportError au lancement de pylint, executer aussi:
-> `pip install wrapt lazy_object_proxy --upgrade`
-
-
-Autres:
-* junit-xml > `pip install junit-xml`
-
-## nose2 - Tests unitaires et couverture
-
-[**nose2**](https://nose2.readthedocs.io/en/latest/) executera les tests de tous les fichiers dont le nom commence par 'test_'  
-
-En ligne de commande windows: `nose2 --with-coverage --coverage=<module>`
-
-Pour générer des rapports en html: 
-`nose2 --with-coverage --coverage=<module> --coverage-report html`
-
-## PyLint - Qualité du code
-
-[**pylint**](https://www.pylint.org/) contrôle la qualité du code
-
-En ligne de commande windows: `pylint <module>`
-
-## Distribuer
-
-* [pynsist](https://pypi.python.org/pypi/pynsist)
-* [py2exe](http://py2exe.org/)
-* [cx_Freeze](https://pypi.python.org/pypi/cx_Freeze)

BIN
Jenkins/accueil.PNG


BIN
Jenkins/builds.PNG


BIN
Jenkins/console.PNG


BIN
Jenkins/detail_build.PNG


+ 19 - 0
Jenkins/install-jenkins.md

@@ -0,0 +1,19 @@
+### Installer Jenkins comme service Windows
+
+Executer l'installeur Windows ([ici](https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service))
+
+Vérifier que le service Jenkins est actif (dans le gestionnaire de taches)
+
+Suivre ensuite les instructions de première configuration (dans le navigateur)
+
+Pour le démarrer, redémarrer, arrêter, ou vérifier son status:  
+
+	cd c:\Program Files\Jenkins\  
+	jenkins start  
+	jenkins restart  
+	jenkins stop  
+	jenkins status  
+
+Accéder à l'interface de Jenkins via `localhost:8080`
+
+![accueil](Jenkins/accueil.png)

BIN
Jenkins/job.PNG


+ 56 - 0
Jenkins/new-job.md

@@ -0,0 +1,56 @@
+## Configurer jenkins
+
+Dans `Administrer Jenkins`>`Configurer le système`
+
+* Git Plugin: renseigner user.name et user.email
+* Shell: `C:\Windows\system32\cmd.exe`
+
+### Installer des plugins
+
+Dans `Administrer Jenkins`>`Gestion des plugins`
+
+La force de Jenkins est le nombre de plugins mis à disposition. Ne pas hésiter donc à les parcourir pour installer ceux qui pourraient servir à exécuter des tests, à exploiter leurs résultats, ou toute autre action relative au job.
+
+Accéder à la page plugins, sélectionner ceux que l'on veut installer, puis cliquer sur `Télécharger et redémarrer ensuite`.
+
+![plugins](Jenkins/plugins.png)
+
+### Créer un nouveau Job
+
+Cliquer sur `New Job` > `Freestyle project` > `OK`
+
+![new_job](Jenkins/new_job.PNG)
+
+Sur la page de configuration du Job, choisir Git comme SCM, avec le chemin du repository comme repository path.
+
+Le plus simple à mettre en place est une simple exécution de code batch:
+
+`Add Build Step` > `Execute windows batch command`
+
+Ajouter au champs Command la liste des instructions à exécuter.
+
+On peut ensuite exploiter les résultats avec les post build steps, par exemple:
+
+* `Add Post Build Step` > `Publish Cobertura Coverage Report`
+
+Le nouveau job (projet) est créé:
+
+![job](Jenkins/job.PNG)
+
+
+### Lancer le Job
+
+Cliquer sur `Lancer le build`
+
+Le nouveau build apparaitra dans l'historique:
+
+![builds](Jenkins/builds.PNG)
+
+Cliquer sur le nouveau build pour accéder au détail:
+
+![detail_build](Jenkins/detail_build.PNG)
+
+Les résultats détaillés de l'exécution sont accessibles dans Console Output.
+
+![console](Jenkins/console.PNG)
+

BIN
Jenkins/new_job.PNG


BIN
Jenkins/plugins.PNG


+ 0 - 24
Jenkins/readme.md

@@ -1,24 +0,0 @@
-# Intégration continue avec Jenkins
-
-[**Jenkins**](https://wiki.jenkins-ci.org/) est un "puppet-master". En clair, il permet d'automatiser tout un tas de choses, en particulier en ce qui concerne l'intégration continue.
-
-**Avantages:** Eprouvé, grande communauté d'utilisateurs, des centaines de plugins.
-
-**Inconvénients**: Vieillissant, plus trés ergonomique.
-
-
-### Installer Jenkins comme service Windows
-
-Executer l'installeur Windows ([ici](https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service))
-
-Vérifier que le service Jenkins est actif (dans le gestionnaire de taches)
-
-Pour le démarrer, redémarrer, arrêter, ou vérifier son status:  
-
-	cd c:\Program Files\Jenkins\  
-	jenkins start  
-	jenkins restart  
-	jenkins stop  
-	jenkins status  
-
-Accéder à l'interface de Jenkins via `localhost:8080`

+ 35 - 8
README.md

@@ -1,13 +1,40 @@
-Documents et snippets relatifs à la mise en place de l'intégration continue:
+L'[intégration continue](https://fr.wikipedia.org/wiki/Int%C3%A9gration_continue) consiste à exécuter une série d'actions à chaque modification du code source d'un projet (cad. à chaque push/merge sur le dépot). 
 
-### [I - Avec Gitlab-CI](http://codebox/lab/Integration-continue/blob/master/Gitlab-CI/readme.md)
-#### [- Exemples de fichiers .gtlab-ci.yml](http://codebox/lab/Integration-continue/tree/master/Gitlab-CI/gitlab-ci_files)
-#### [- Docker](http://codebox/lab/Integration-continue/blob/master/Gitlab-CI/docker.md)
+Ces actions peuvent être des tests unitaires, fonctionnels, la compilation, tests de performances, des contrôles de qualité du code...etc.
 
 
-### [II - Avec Jenkins](http://codebox/lab/Integration-continue/blob/master/Jenkins/readme.md)
-#### [- Cas d'un projet Python](http://codebox/lab/Integration-continue/blob/master/Jenkins/jenkins-python.md)
+## I - Gitlab-CI
 
-### III - L'intégration continue selon les projets
-#### [- Projets Python](http://codebox/lab/Integration-continue/blob/master/Autres/Python/python-ci.md)
+Gitlab (à partir de la version 8.0) propose un outil intégré d'intégration continue.
+
+> Voir la [page de présentation](https://about.gitlab.com/gitlab-ci/) et le [guide de départ](https://docs.gitlab.com/ce/ci/quick_start/).
+
+Un fichier .gitlab-ci.yml doit être ajouté au projet: c'est lui qui définit les actions (jobs) à effectuer à chaque mise à jour du code (build).
+
+Ces actions sont ensuite effectuées sur une machine distante, sur laquelle a été installée le  ou les"runner(s)".
+
+Les résultats sont ensuite disponibles dans l'onglet "Pipelines" du projet. Ils peuvent aussi être visibles depuis la page d'accueil du projet, envoyés par mail aux développeurs...etc.
+
+Concrétement, Gitlab-CI clonera le dépôt Git sur la machine de build, et exécutera les commandes du job dans le répertoire cloné.
+
+1. [**Mise en place**](Gitlab-CI/readme.md)
+2. [**Exemples de fichiers .gitlab-ci.yml**](Gitlab-CI/gitlab-ci_files)
+3. [**Avec Docker**](Gitlab-CI/docker.md)
+
+
+## II - Avec Jenkins
+
+[**Jenkins**](https://wiki.jenkins-ci.org/) est un "puppet-master". En clair, il permet d'automatiser tout un tas de choses, en particulier en ce qui concerne l'intégration continue.
+
+**Avantages:** Eprouvé, grande communauté d'utilisateurs, des centaines de plugins.
+
+**Inconvénients**: Vieillissant, plus trés ergonomique.
+
+1. [**Installer Jenkins**](Jenkins/install-jenkins.md)
+2. [**Configurer un job**](Jenkins/new-job.md)
+3. [**Exemple avec Python**](Jenkins/jenkins-python.md)
+
+## III - Différents exemples d'intégration continue
+
+1. [**Projets Python**](Exemples/Python/python-ci.md)