2015-02-25 1 views

Répondre

0

Je ne pense pas qu'il soit possible de le faire depuis Jenkins.

Vous devrez le faire à partir de votre script de build ou de vos hooks de serveur de version.

Nous déclenchons des constructions à partir de svn, et nous voulons exécuter différentes générations en fonction de la branche sur laquelle la validation a été faite.

Nous avons des crochets qui exécutent des scripts Powershell qui ressemble à ceci:

param(
    [string]$repos, 
    [string]$rev 
) 

$commitTrunk = $false 
(Invoke-Expression "svnlook dirs-changed -r $rev `"$repos`"") | % { 
    if ($_ -match "^trunk") { $commitTrunk = $true } 
} 

if ($commitTrunk) { 
    $url = "http://myserver/job/Application/build?token=mytoken&cause=SVN+Commit" 
    $page = (New-Object Net.WebClient).DownloadString($url) 
    write $page 
} 

Les choses svnlook vérifie l'URL du commit en cours pour voir si elle est le tronc. Si c'est le cas, il déclenche la construction en appelant l'URL du travail Jenkins.

Vous pouvez faire quelque chose de similaire, en vérifiant si le chemin est project/test1.
Je pense que Git a aussi un équivalent au système svn "hook".

0

Avez-vous essayé d'utiliser le modèle Exclure les régions dans les options avancées?

enter image description here

Peut-être que vous pouvez exclure les dossiers test2 et test3 et le fichier abc.java.

+0

Le projet contient de nombreux fichiers et dossiers. Je veux seulement déclencher quand les dossiers dans le dossier de test1 sont changés. Y a-t-il une option d'inclure la région? Ou pouvons-nous écrire des motifs dans les régions exclues pour sélectionner tous les dossiers sauf le dossier test1? – Fayzan

+0

Avez-vous regardé cette réponse? http://stackoverflow.com/questions/6215276/how-to-have-jenkins-ignore-certain-files-when-checking-for-change –

+2

Résolu. a créé un nouveau projet et a donné le nom à distance des modules '' project/test1 ''. Checked 'Poll SCM' pour vérifier chaque minute s'il y a une mise à jour dans ce dossier. Ajout d'une action post-construction pour construire d'autres projets chaque fois qu'il y a un changement dans ce projet et entré le nom de mon projet principal. – Fayzan