1 |
27229
|
sandro.lab
|
def myFile= new File("/tmp/DSL40/configuration.xml")
|
2 |
21753
|
sandro.lab
|
def parser=new XmlSlurper().parseText(myFile.text);
|
3 |
|
|
def allModule=parser.module.each {
|
4 |
21970
|
sandro.lab
|
def projectName= it.name as String
|
5 |
|
|
def sourceCodeType=it.source.@type
|
6 |
26630
|
sandro.lab
|
def versionCode = it.source.@version
|
7 |
21970
|
sandro.lab
|
def URLSource=it.source as String
|
8 |
|
|
def mvnGoal= it.goal as String
|
9 |
|
|
def hasSonar= it.sonar as String
|
10 |
26630
|
sandro.lab
|
def mail = it.mail as String
|
11 |
|
|
def repositoryId = it.deploy.RepositoryId as String
|
12 |
|
|
def repositoryURL = it.deploy.RepositoryURL as String
|
13 |
31464
|
sandro.lab
|
def nightly = it.nightly as String
|
14 |
26942
|
sandro.lab
|
def cron_node = it.cron as String
|
15 |
37752
|
sandro.lab
|
println "executing "+projectName
|
16 |
21970
|
sandro.lab
|
job(type: Maven) {
|
17 |
26630
|
sandro.lab
|
if (versionCode == '4')
|
18 |
31473
|
sandro.lab
|
{
|
19 |
31461
|
sandro.lab
|
if (nightly =='true'){
|
20 |
|
|
name 'DSL4_nightly_'+projectName
|
21 |
|
|
using ("dnet-nightly-template")
|
22 |
|
|
}
|
23 |
|
|
else{
|
24 |
|
|
name 'DSL4_'+projectName
|
25 |
|
|
using ("dnet4-svn-template")
|
26 |
|
|
}
|
27 |
26630
|
sandro.lab
|
}
|
28 |
26631
|
sandro.lab
|
else{
|
29 |
26630
|
sandro.lab
|
name 'DSL_'+projectName
|
30 |
26631
|
sandro.lab
|
using ("dnet-svn-template")
|
31 |
|
|
}
|
32 |
|
|
|
33 |
21970
|
sandro.lab
|
triggers
|
34 |
|
|
{
|
35 |
31461
|
sandro.lab
|
if (nightly !='true'){
|
36 |
|
|
scm('H/10 * * * *')
|
37 |
|
|
}
|
38 |
26942
|
sandro.lab
|
if (cron_node)
|
39 |
|
|
{
|
40 |
|
|
cron(cron_node)
|
41 |
|
|
}
|
42 |
22003
|
sandro.lab
|
}
|
43 |
21970
|
sandro.lab
|
configure {
|
44 |
|
|
project ->
|
45 |
|
|
def goalModule=project / goals
|
46 |
|
|
goalModule.value=mvnGoal
|
47 |
31471
|
sandro.lab
|
def scm= project / scm
|
48 |
|
|
def remoteNode= scm.locations.'hudson.scm.SubversionSCM_-ModuleLocation'[0].remote[0]
|
49 |
|
|
remoteNode.value=URLSource
|
50 |
|
|
|
51 |
22003
|
sandro.lab
|
if (mail){
|
52 |
|
|
def publishersNode = project /publishers
|
53 |
30964
|
sandro.lab
|
if (repositoryId) {
|
54 |
|
|
def repo_publisher_node= publishersNode.appendNode('hudson.maven.RedeployPublisher')
|
55 |
|
|
def repoid_node =repo_publisher_node.appendNode('id')
|
56 |
|
|
repoid_node.value = repositoryId
|
57 |
|
|
def repourl_node =repo_publisher_node.appendNode('url')
|
58 |
|
|
repourl_node.value = repositoryURL
|
59 |
|
|
repo_publisher_node.appendNode('uniqueVersion').value='true'
|
60 |
|
|
repo_publisher_node.appendNode('evenIfUnstable').value='true'
|
61 |
|
|
}
|
62 |
22003
|
sandro.lab
|
def m1 = publishersNode.appendNode('hudson.plugins.emailext.ExtendedEmailPublisher')
|
63 |
|
|
m1.@plugin= "email-ext@2.36"
|
64 |
|
|
def rec1 = m1.appendNode('recipientList')
|
65 |
|
|
rec1.value= mail
|
66 |
|
|
def ct= m1.appendNode('configuredTriggers')
|
67 |
|
|
def TriggerNode = ct.appendNode('hudson.plugins.emailext.plugins.trigger.FailureTrigger')
|
68 |
|
|
def emailNode = TriggerNode.appendNode('email')
|
69 |
|
|
emailNode << {
|
70 |
|
|
recipientList ()
|
71 |
22008
|
sandro.lab
|
subject ('Jenkins Job Problem on $PROJECT_NAME - Build # $BUILD_NUMBER')
|
72 |
|
|
body ('$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: Check console output at $BUILD_URL to view the results.')
|
73 |
22003
|
sandro.lab
|
sendToDevelopers ('true')
|
74 |
|
|
sendToRequester ('true')
|
75 |
|
|
includeCulprits('true')
|
76 |
|
|
sendToRecipientList('true')
|
77 |
|
|
attachmentsPattern('')
|
78 |
22004
|
sandro.lab
|
attachBuildLog('true')
|
79 |
22003
|
sandro.lab
|
compressBuildLog('false')
|
80 |
22004
|
sandro.lab
|
replyTo (mail)
|
81 |
22006
|
sandro.lab
|
contentType('text/html')
|
82 |
22003
|
sandro.lab
|
}
|
83 |
22005
|
sandro.lab
|
TriggerNode.appendNode('attachBuildLog').value='true'
|
84 |
22007
|
sandro.lab
|
TriggerNode.appendNode('defaultSubject').value='Jenkins Job Problem on $PROJECT_NAME - Build # $BUILD_NUMBER'
|
85 |
|
|
TriggerNode.appendNode('defaultContent').value='$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: Check console output at $BUILD_URL to view the results.'
|
86 |
22010
|
sandro.lab
|
TriggerNode.appendNode('contentType').value='text/html'
|
87 |
22003
|
sandro.lab
|
|
88 |
22005
|
sandro.lab
|
|
89 |
22003
|
sandro.lab
|
}
|
90 |
21970
|
sandro.lab
|
if (hasSonar.equals("YES")) {
|
91 |
|
|
def pubblish=(project /publishers)
|
92 |
|
|
ppNode=pubblish.appendNode('hudson.plugins.sonar.SonarPublisher')
|
93 |
|
|
ppNode.@plugin="sonar@2.1"
|
94 |
21972
|
sandro.lab
|
ppNode.appendNode('jdk').value= '(Inherit From Job)'
|
95 |
21970
|
sandro.lab
|
}
|
96 |
|
|
}
|
97 |
|
|
}
|
98 |
|
|
}
|