Coulisse 3) Ajouter le référentiel à la webapp, au runner et au plugin Jenkins

jenkins
rgaa-3-2016
coulisse-rgaa3-2016
asqatasun-runner
maven
Tags: #<Tag:0x00007fe6a10aa7a0> #<Tag:0x00007fe6a10aa660> #<Tag:0x00007fe6a10aa520> #<Tag:0x00007fe6a10aa3e0> #<Tag:0x00007fe6a10aa2a0>

#1

Sommaire | Précédent | Suivant


Pour rappel dans Coulisse 2 : ajouter le RGAA 3 2016 : comment faire ?
nous vous proposions 2 méthodologies et nous en avons choisie une des 2
pour la série coulisse et aussi pour la mise en place du RGAA 3.2016 dans Asqatasun.

Créer un nouveau référentiel et importer l’existant à partir du RGAA 3.0

  • Produire un .csv du nouveau référentiel à partir du site officiel
  • Générer un nouveau référentiel à partir du .csv via le plugin maven dédié.
  • Ajouter le nouveau référentiel au projet, à la webapp, au runner et au plugin Jenkins.
  • importer les tests identiques

Sauter des étapes pour mieux préparer la suite :rocket:

Dans ce 3ème opus de la série coulisse, nous vous proposons de sauter les 2 premières étapes et de travailler en amont sur l’ajout du référentiel à la webapp, au runner et au plugin Jenkins.

La raison principale de cet exercice d’équilibriste (intégrer un sous-projet qui n’existe pas encore) est que cette étape est commune aux 2 méthodologies (copier le RGAA 3.0 ou repartir d’un référentiel vide).

La 2ème raison est plutôt pour le “fun” : quand nous rajouterons le sous-projet du référentiel, il sera quasi utilisable dans Asqatasun… :wink:

processus :clipboard:

  1. Ajouter le référentiel au projet
  2. Ajouter le référentiel à la webapp
  3. Ajouter le référentiel au runner
  4. Ajouter le référentiel au plugin Jenkins.

1. Ajouter le référentiel au projet

processus :clipboard:

Il s’agit de rajouter le nouveau référentiel afin qu’il soit compilé
par maven avec tout le projet Asqatasun.

Après ces modifications, la compilation d’Asqatasun n’est plus possible, car le sous-projet rules-rgaa3.2016 n’existe pas encore. Dès que le nouveau référentiel sera rajouté, comme sous-projet, tout rentrera dans l’ordre.

fichiers à modifier :blue_book:

modifications :green_book:

Les modifications sont sur le dépôt git dans 1 seul commit.

Pour le fichier rules/pom.xml, vous devez rajouter une ligne :

<module>rules-rgaa3.2016</module>

Pour le fichier pom.xml, vous devez rajouter la dépendance au nouveau référentiel
afin qu’il soit compilé par maven avec tout le projet Asqatasun.

<dependency>
    <groupId>${asqatasunGroupId}</groupId>
    <artifactId>asqatasun-rules-rgaa3.2016</artifactId>
    <version>${asqatasunVersion}</version>
    <scope>runtime</scope>
</dependency>

2. Ajouter le référentiel à la webapp

processus :clipboard:

Les modifications à effectuer sont :

  • l’ajout du nouveau référentiel comme dépendance à la webapp
  • l’ajout du fichier SQL du référentiel dans le tar.gz d’Asqatasun
  • la modification du script d’installation d’Asqatasun pour exécuter ce fichier SQL

Quand le nouveau référentiel sera ajouté comme sous-projet, la webapp nécessitera quelques modifications complémentaires pour permettre d’utiliser le RGAA 3.2016.

fichiers à modifier :blue_book:

modifications :green_book:

Les modifications sont sur le dépôt git dans 1 seul commit.

Pour le fichier pom.xml de la webapp, vous devez rajouter la dépendance au nouveau référentiel :

<dependency>
    <groupId>${asqatasunGroupId}</groupId>
    <artifactId>asqatasun-rules-rgaa3.2016</artifactId>
    <scope>runtime</scope>
</dependency>

Pour le fichier descriptor.xml, qui décrit la construction du tar.gz utilisé à l’installation d’Asqatasun, vous devez rajouter le fichier SQL du nouveau référentiel pour qu’il soit inclue dans le tar.gz à la compilation d’Asqatasun.

<fileSet>
    <directory>${basedir}/../../rules/rules-rgaa3.2016/src/main/resources/sql</directory>
    <includes>
        <include>rgaa3.2016-insert.sql</include>
    </includes>
    <fileMode>664</fileMode>
    <outputDirectory>/install/rules/sql</outputDirectory>
</fileSet>

Pour le fichier install.sh, qui est le script d’installation d’Asqatasun, vous devez rajouter 1 ligne à la fonction create_tables() pour permettre le chargement du nouveau référentiel en base de données à l’installation d’Asqatasun.

my_sql_insert rgaa3.2016-insert.sql

3. Ajouter le référentiel au runner

processus :clipboard:

Le runner est un outil pour lancer des audits en ligne de commande. Il est principalement utilisé comme interface entre le plugin Jenkins et Asqatasun.

Les modifications à effectuer sont :

  • l’ajout du nouveau référentiel comme dépendance au sous-projet runner
  • l’ajout du fichier SQL du référentiel dans le tar.gz du runner
  • la modification de la classe java du runner pour inclure ce nouveau référentiel

Quand le nouveau référentiel sera ajouté, le runner sera directement utilisable, contrairement à la webapp qui nécessite quelques modifications complémentaires.

fichiers à modifier :blue_book:

modifications :green_book:

Les modifications sont sur le dépôt git dans 2 commits :

Pour le fichier pom.xml du runner, vous devez rajouter la dépendance au nouveau référentiel :

<dependency>
    <groupId>${asqatasunGroupId}</groupId>
    <artifactId>asqatasun-rules-rgaa3.2016</artifactId>
    <scope>runtime</scope>
</dependency>

Pour le fichier descriptor.xml, qui décrit la construction du tar.gz utilisé à l’installation du runner, vous devez rajouter le fichier SQL du nouveau référentiel pour qu’il soit inclue dans le tar.gz du runner à la compilation.

<fileSet>
    <directory>${basedir}/../../rules/rules-rgaa3.2016/src/main/resources/sql</directory>
    <includes>
        <include>rgaa3.2016-insert.sql</include>
    </includes>
    <fileMode>664</fileMode>
    <outputDirectory>/install/rules/sql</outputDirectory>
</fileSet>

Pour le fichier Asqatasun.java du sous-projet runner,
vous pouvez voir les modifications dans le commit dédié.

4. Ajouter le référentiel au plugin Jenkins

processus :clipboard:

Le plugin Jenkins utilise le runner pour lancer les audits.

Si les modifications du runner sont déjà implantées, le plugin sera opérationnel pour le nouveau RGAA 3 2016 quand ce nouveau référentiel sera ajouté à Asqatasun.

fichiers à modifier :blue_book:

modifications :green_book:

Les modifications sont sur le dépôt git du plugin Jenkins dans 1 seul commit.

Pour le fichier AsqatasunRunnerBuilder.java, il suffit de rajouter 3 lignes à méthode doFillRefAndLevelItems() pour permettre au plugin Jenkins de proposer le nouveau référentiel.

new Option("Rgaa3.2016 : A", "Rgaa32016;Bz"),
new Option("Rgaa3.2016 : AA", "Rgaa32016;Ar"),
new Option("Rgaa3.2016 : AAA", "Rgaa32016;Or"),

Les modifications dans les fichiers config*.properties (fichiers des traductions)
se résume en 3 lignes à ajouter :

Rgaa32016;LEVEL_1=Rgaa 3.2016 : A
Rgaa32016;LEVEL_2=Rgaa 3.2016 : AA
Rgaa32016;LEVEL_3=Rgaa 3.2016 : AAA

La cuisine vous est ouverte… :gift:

Cette série Coulisse est l’occasion de rendre public le processus d’ajout d’un référentiel « officiel » à Asqatasun à la fois pour le documenter et pour le rendre accessible à tous.

Vos retours, questions, remarques et contributions
sont les bienvenus et même fortement recommandés. :wink:

À venir… :alarm_clock:


Sommaire | Précédent | Suivant


Coulisse 2) ajouter le RGAA 3 2016 : comment faire?
Sommaire - Coulisse : processus d'ajout d'un nouveau référentiel à Asqatasun
Coulisse 4) Produire le .csv d'import du nouveau référentiel RGAA 3.2016
#2

La 4ème partie est en ligne : :books:
Produire le .csv d’import du nouveau référentiel RGAA 3.2016