Désactiver simultanées construit
Fond: Nous sommes à la recherche d'une solution sur la façon d'optimiser notre pipeline (ancien plan de travail).
Actuellement, nous courons calme, quelques parallèle des déploiements et des essais qui sont réparties sur les 2 constructeurs, avec 4 exécuteurs chaque.
Le pipeline est déclenchée par un Git push, donc postérieure pousse va déclencher de multiples versions. Nous avons expérimenté avec la scène de la simultanéité: 1 option, qui joliment blocs d'une étape par une version ultérieure, mais le coup de quand ce stade précis est fait.
Question(s):
Je ne suis pas sûr que c'est la meilleure pratique, mais Il me semble, il serait préférable de ne pas exécuter la construction de la nouvelle, jusqu'à ce que le précédent est terminé. (Le raisonnement à partir du fait que nous avons commis des ressources, et il devrait être autorisé à fini, même si ce n'est pas la plus récente et la plus commettre).
Q1: Est-ce encore meilleure pratique?
Q2: comment pouvons-nous anticiper la nouvelle triggert construire, pendant l'exécution de la précédente? (Je ne peux imaginer une itération à travers la construction de ce travail et d'arrêter le nouveau...).
Voir la config de la première étape [1]
[1] première étape..
stage name: 'Checkout and build WAR'
node {
def mvnHome = tool 'Maven 3.2.x'
checkout([$class : 'GitSCM',
poll : true,
branches : [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions : [[$class : 'RelativeTargetDirectory',
relativeTargetDir: 'checkout-directory']],
submoduleCfg : [],
userRemoteConfigs : [[url: 'https://some.repo/repo.git']]])
//Archive the cloned repo.
stash name: 'src', includes: 'checkout-directory/war/src/, checkout-directory/war/pom.xml'
//Run without tests, do the unit and integration tests in a separate stage.
sh "${mvnHome}/bin/mvn -f checkout-directory clean install -DskipTests"
//Archive the application build.
stash name: 'war', includes: 'checkout-directory/war/target/*.war'
}
- Voir ma réponse ici: stackoverflow.com/questions/36454130/...
Vous devez vous connecter pour publier un commentaire.
De travail
configuration
vous pouvez définir:Comme pour
jenkins-pipeline
LIS ce l'article répondre à votre question:stage
commandes de simultanéité paramètre est obsolète et ne doit pas être utilisé plus. Une approche alternative est d'utiliser lemilestone
étape, ce qui ne l'empêche pas de s'appuie pour démarrer, mais d'attendre la version précédente.lock
étape.Utilisent les Travaux de configuration par le biais des propriétés semble être la meilleure façon d'aller.
Voir https://stackoverflow.com/a/43963315/1756183