Configuration de l'automatisation de l'examen avec GitLab CI/CD et des conteneurs
Le conteneur d'interface de ligne de commande (CLI) HCL® AppScan® Source, disponible depuis HCL Harbor et HCL FlexNet Operations Portal (FNO), peut être utilisé pour automatiser les examens d'analyse statique avec GitLab, et sans installer une instance complète de AppScan® Source.
- Préparez l'application.
- Préparez GitLab CI/CD à l'aide de l'image du conteneur de HCL FNO.
- Lancez l'examen à l'aide des exécuteurs GitLab CI/CD.
Conditions préalables
- Environnement GitLab CI/CD : Un ou plusieurs exécuteurs GitLab CI/CD basés sur Linux RHEL 7.9 avec Docker installé.
Il s'agit du système destiné à exécuter un examen d'analyse statique à l'aide du conteneur de l'interface de ligne de commande.
-
Une licence valide pour AppScan® Source for Automation et des informations pertinentes sur le serveur de licences.
-
Image du conteneur de l'interface de ligne de commande AppScan® Source
Téléchargez l'image du conteneur de l'interface de ligne de commande AppScan® Source à partir de HCL Harbor ou HCL FNO. Avec une licence valide, votre identifiant HCL vous donne accès à ces emplacements.
-
Script de l'interface de ligne de commande AppScan® Source
Un script est requis pour l'examen avec le conteneur à l'aide de GitLab CI/CD.
- Fichiers de projet (
.ppf
) et d'application (.paf
) AppScan® Source : Utilisez AppScan® Source for Analysis pour générer des fichiers de configuration (nécessite une installation de AppScan® Source sur un système Linux ayant accès à la cible d'examen). - Accédez au contenu sur GitLab CI/CD à partir du conteneur :
- L'application à examiner doit être présente dans GitLab et accessible à partir des exécuteurs GitLab CI/CD qui exécutent l'examen.
- Les fichiers
.paf
/.ppf
Remarque : Le mappage de volume (mappage du chemin sur l'hôte du conteneur vers un chemin dans le conteneur) est utilisé à cette fin lors de l'instanciation d'un examen.
Préparez l'application à examiner
- Fichiers
paf
/ppf
- Examen des dossiers
paf
/ppf
- Générez le fichier
paf
/ppf
à l'aide du client HCL® AppScan® Source for Analysis sur un système Linux sur lequel AppScan® Source est installé.Assurez-vous que les fichiers
paf
etppf
se trouvent dans le dossier root de l'application à examiner. - Assurez-vous que les fichiers d'application et les fichiers
paf
/ppf
sont accessibles à partir des exécuteurs GitLab CI/CD.Par exemple, si l'application est accessible au chemin root
/usr/user1/SampleApp
sur les exécuteurs GitLab CI/CD, les fichierspaf
/ppf
sont situés dans/usr/user1/SampleApp/SampleApp.paf
et/usr/user1/SampleApp/SampleApp.ppf
. - Déterminez le nom du volume tel qu'il est vu par le conteneur.Par exemple, mappez l'hôte
/usr/user1
surcvol
dans le conteneur.Remarque : Le mappage de volume est spécifié lors de l'exécution de l'interface de ligne de commande dans le conteneur. - Créez le script de l'interface de ligne de commande. Par exemple,
SampleApp.script
dans /usr/user1/SampleApp
.Dans cet exemple, le script indique au conteneur d'accéder au contenu de l'application à l'aide du chemincvol
. Les commandes répertoriées sont celles utilisées avec l'interface de ligne de commande AppScan® Source (Examen sans intervention manuelle).login … oa /cvol/SampleApp/SampleAll.ppf scan … logout
- Assurez-vous que les fichiers d'application sont accessibles à partir des exécuteurs GitLab CI/CD.
Par exemple, l'application est accessible via le chemin /
usr/user1/SampleApp
sur les exécuteurs GitLab CI/CD. - Déterminez le nom du volume tel qu'il est vu par le conteneur.Par exemple, mappez l'hôte
/usr/user1
surcvol
dans le conteneur.Remarque : Le mappage de volume est spécifié lors de l'exécution de l'interface de ligne de commande dans le conteneur. - Créez le script de l'interface de ligne de commande. Par exemple,
SampleApp.script
dans/usr/user1/SampleApp
.login … oa /cvol/SampleApp/SampleAll.ppf scan … logout
Préparez l'environnement d'exécution sur les exécuteurs GitLab CI/CD
- Téléchargez le conteneur de l'interface de ligne de commande (CLI) AppScan® Source dans l'hôte GitLab à partir de HCL FNO ou accédez directement à partir de HCL Harbor.
Chargez l'image du conteneur de l'interface de ligne de commande à l'aide de la commande
docker load
si elle a été téléchargée à partir de HCL FNO. - Créez un fichier de script
yaml
pour exécuter un examen d'analyse statique à l'aide du conteneur de l'interface de ligne de commande AppScan® Source à partir de HCL Harbor. Par exemple :# This is a basic workflow to help you get started with GitLab CI/CD variables: GIT_STRATEGY: clone build-job: stage: build script: - echo "Hello, $GITLAB_USER_LOGIN!" - chmod -R 777 $CI_PROJECT_DIR - docker run --rm --env-file $CI_PROJECT_DIR/env.list -v $CI_PROJECT_DIR/:/wa hclcr.io/appscan/appscan-src-cli:10.3.0 script /wa/CLI_jspWIKI.script - echo "Success, Scan complete" - rm -vrf $CI_PROJECT_DIR - echo "Clean up done"
Lancez un examen d'analyse statique à l'aide de l'exécuteur GitLab CI/CD
- Assurez-vous que l'exécuteur GitLab CI/CD est en ligne. Dans GitLab, sélectionnez pour vérifier le statut.
- Sélectionnez
.yaml
présent dans la branche.
pour démarrer un examen d'analyse statique à l'aide du script