diff --git a/JenkinsImageExistante/Jenkinsfile b/JenkinsImageExistante/Jenkinsfile index 130f7abf87922f311faaa3ac87efb95a2454d73f..8e5ec2c20c70f158d4f78576b06e0c8c2d206c3d 100644 --- a/JenkinsImageExistante/Jenkinsfile +++ b/JenkinsImageExistante/Jenkinsfile @@ -3,14 +3,21 @@ node{ def registryProject='http://registry-nexus:8083/repository/RegistryDocker/' def image="${registryProject}:version-${env.BUILD_ID}" + /* + Pull image depuis une registry nexus + */ + + //Clonage du projet gitlab gitlab stage('Clone') { checkout scm } + //Build image docker stage('Build image') { app = docker.build ("debian:buster") } + //Test de l'image pour voir si elle est correctement créée stage('Test image') { docker.image('debian:buster').withRun() { c -> @@ -18,13 +25,17 @@ node{ } } + //Scan dockle (audit des bonnes pratiques du conteneur docker) stage('Scan Dockle'){ sh 'dockle debian:buster > rapportDockleEx' } + //Scan clair (permet de détecter les cve) stage('Scan Clair'){ sh ''' ./clair-scanner --report="rapportClairEx" --ip=jenkins-blueocean --clair="http://clair-local-scan:6060" debian:buster || exit 0 ''' - } + } + + } diff --git a/JenkinsNouvelleImage/Jenkinsfile b/JenkinsNouvelleImage/Jenkinsfile index adf39907f32a9e8c599c1141314d12b6d6d61b1a..3143256cbe077f2b256c09658a425f5e48fe7db7 100644 --- a/JenkinsNouvelleImage/Jenkinsfile +++ b/JenkinsNouvelleImage/Jenkinsfile @@ -3,33 +3,42 @@ node{ def registryProject='http://registry-nexus:8083/repository/RegistryDocker/' def image="${registryProject}:version-${env.BUILD_ID}" + //Clonage du projet gitlab gitlab stage('Clone') { checkout scm } + //Scan hadolint pour detecter la mise en place des bonnes pratique stage('Scan hadolint'){ sh 'docker run --rm -i hadolint/hadolint < Dockerfile > rapportHadolint || true' } + //Build image docker stage('Build image') { app = docker.build ("debian:buster") } + //Test de l'image pour voir si elle est correctement créée stage('Test image') { docker.image('debian:buster').withRun() { c -> sh 'docker ps' } } + + //Scan dockle (audit des bonnes pratiques du conteneur docker) stage('Scan Dockle'){ sh 'dockle debian:buster > rapportDockle' } + //Scan clair (permet de détecter les cve) stage('Scan Clair'){ sh ''' ./clair-scanner --report="rapportClair" --ip=jenkins-blueocean --clair="http://clair-local-scan:6060" debian:buster || exit 0 ''' } + + //Push de l'image dans un registry nexus stage('Push on repo nexus'){ docker.withRegistry(registryProject,'Jenkins-credential'){ app.push()