J'essaie actuellement de mettre en place un pipeline dans Jenkins à l'aide de jenkinsfile et j'exécute un projet maven sur une machine Windows. Je crée un travail en pipeline dans Jenkins et j'ai archivé ce fichier dans mon référentiel github. Lorsque j'exécute le travail dans Jenkins, j'obtiens une erreur de suivi.
Mon jenkinsfile:
pipeline {
agent any
stages {
stage('Compile stage') {
steps {
maven(maven : 'Maven_3.5.2'){
bat "mvn clean compile"
}
}
}
stage('testing stage') {
steps {
maven(maven : 'Maven_3.5.2'){
bat "mvn test"
}
}
}
stage('deployment stage') {
steps {
maven(maven : 'Maven_3.5.2'){
bat "mvn deploy"
}
}
}
}
}
Je reçois une erreur ci-dessous lorsque je l'exécute via le travail de jenkins -- Erreur Jenkins:
Java.lang.NoSuchMethodError: Aucune méthode DSL 'withMaven' n'a été trouvée parmi les étapes [archive, bat, build, catchError, checkout, deleteDir, dir, dockerFingerprintFrom, dockerFingerprintRun, echo, emailext, emailextrecipients, envVarsForTool, erreur, fileExists, getContext, git, input, isUnix, library, libraryResource, load, mail, jalon, noeud, parallèle, Powershell, propriétés, pwd, readFile, readTrusted, resolScm, réessayez, script, sh, veille, étape, stash, étape, svn, délai d'attente, horodatage, tm, outil, désarchiver, décomposer, validateDeclarativePipeline, waitUntil, withContext, withCredentials, avecDockerContainer, avecDockerRegistry, avecDockerServer, withEnv, wrap, writeFile, ws] ou symboles [all, allOf, always, ant, antFromApache, antOutcome, antTarget, any, anyOf, apiToken, architecture, archiveArtifacts, artifactManager, autorisationMatrix, batchFile, booleanParam, branche,
De l'aide?
Cela signifie que vous n'avez pas withMaven
comme méthode DSL disponible. La plupart du temps, cela signifie que vous n'avez pas installé de plugin. Dans ce cas, le plug-in Pipeline Maven est requis. https://wiki.jenkins.io/display/JENKINS/Pipeline+Maven+Plugin
En plus de la réponse de Rob Hales, cela s'appelle "Pipeline Maven Integration Plugin" dans Jenkins ver. 2.73.3 ou plus tard
Essaye ça:
pipeline {
agent any
tools {
maven 'Maven_3.5.2'
}
stages {
stage('Compile stage') {
steps {
bat "mvn clean compile"
}
}
stage('testing stage') {
steps {
bat "mvn test"
}
}
stage('deployment stage') {
steps {
bat "mvn deploy"
}
}
}
}
Référence: https://jenkins.io/doc/book/pipeline/syntax/