Je teste le plugin jenkins job-dsl. J'ai un projet existant dans lequel le paramètre "Supprimer l'espace de travail avant le début de la génération" est activé.
J'ai le DSL suivant défini:
job("$basePath/my-project") {
scm {
git {
remote {
name('Origin')
url('[email protected]:my-organisation/my-project.git')
}
branch('*/develop')
extensions {
wipeOutWorkspace()
submoduleOptions {
recursive()
}
}
}
}
}
Il semble que cela donne une configuration qui n’est pas vraiment la même chose, cela montre une option "Effacer le référentiel et forcer le clone". Ces options sont-elles vraiment la même chose au bout du compte ou existe-t-il des comportements différents?
En général, il n'y a pas de différence entre les deux options.
Ils sont fournis par différents plugins:
Les principales différences entre le plugin Workspace Clean et le plugin Git:
Un comportement important de l'option "Supprimer le référentiel & forcer le clone" du plug-in Git est qu'il supprime uniquement le sous-répertoire du référentiel si vous en avez sélectionné un dans l'option "Extraire dans un sous-répertoire". Cela laissera le reste de votre espace de travail seul. Cela n'apparaît pas dans la documentation pour autant que je sache.
Vous pouvez obtenir un comportement similaire avec le plug-in Workspace Cleanup en spécifiant le sous-répertoire clone dans la section Configuration avancée "Modèle pour les fichiers à supprimer".
Le résultat final est exactement le même, mais selon mes observations, la suppression du plug-in Git était 5 secondes plus rapide que celle du plug-in Workspace Cleanup.