Configuration de l'automatisation de l'examen avec GitLab CI/CD et des conteneurs
Le conteneur de l'interface de ligne de commande (CLI) HCL® AppScan® Source, disponible depuis HCL Harbor et Portail My HCLSoftware portal, 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 Portail My HCLSoftware portal.
- 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 Podman 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 Portail My HCLSoftware portal. Avec une licence valide, votre ID HCL accorde l'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
pafetppfse trouvent dans le dossier root de l'application à examiner. - Assurez-vous que les fichiers d'application et les fichiers
paf/ppfsont accessibles à partir des exécuteurs GitLab CI/CD.Par exemple, si l'application est accessible au chemin root
/usr/user1/SampleAppsur les exécuteurs GitLab CI/CD, les fichierspaf/ppfsont situés dans/usr/user1/SampleApp/SampleApp.pafet/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/user1surcvoldans 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.scriptdans /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 d'accès /
usr/user1/SampleAppsur 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/user1surcvoldans 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.scriptdans/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 AppScan® Source dans l'hôte GitLab à partir de Portail My HCLSoftware portal ou accédez-y directement à partir de HCL Harbor.
Chargez l'image du conteneur de l'interface de ligne de commande (CLI) à l'aide de la commande
podman loadsi elle a été téléchargée à partir de Portail My HCLSoftware portal. - Créez un fichier de script
yamlpour exécuter un examen d'analyse statique à l'aide du conteneur de l'interface de ligne de commande AppScan® Source à partir de HCL Harbor. 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 - podman 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 pour démarrer un examen d'analyse statique à l'aide du script
.yamlprésent dans la branche.