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