From 5945fbc32d756739d981a53e5607c150c25d225e Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 18 Jun 2013 14:52:13 -0700 Subject: [PATCH] initial version of jenkins groovy DSL --- jenkins/jobs.groovy | 84 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 jenkins/jobs.groovy diff --git a/jenkins/jobs.groovy b/jenkins/jobs.groovy new file mode 100644 index 0000000000..f00a86295e --- /dev/null +++ b/jenkins/jobs.groovy @@ -0,0 +1,84 @@ +/*def targets = [ + 'animation-server', + 'audio-mixer', + 'avatar-mixer', + 'domain-server', + 'eve', + 'interface', + 'pairing-server', + 'space-server', + 'voxel-server' +]*/ + +def targets = ['space-server'] + +def JENKINS_URL = 'https://jenkins.below92.com/' +def GITHUB_HOOK_URL = 'https://github.com/worklist/hifi/' +def GIT_REPO_URL = 'git@github.com:worklist/hifi.git' +def HIPCHAT_AUTH_TOKEN = '4ad6553471db605629852ff3265408' +def HIPCHAT_ROOM = 'High Fidelity' +def ARTIFACT_DESTINATION = 'a-tower.below92.com' + +targets.each { + def targetName = it + + job { + name "hifi-${targetName}" + logRotator(7, -1, -1, -1) + + scm { + git(GIT_REPO_URL) + } + + configure { project -> + project / 'properties' << { + 'com.coravy.hudson.plugins.github.GithubProjectProperty' { + projectUrl GITHUB_HOOK_URL + } + + 'jenkins.plugins.hipchat.HipChatNotifier_-HipChatJobProperty' { + room HIPCHAT_ROOM + } + } + + project / 'scm' << { + includedRegions "${targetName}/.*\nlibraries/.*" + } + + project / 'triggers' << 'com.cloudbees.jenkins.GitHubPushTrigger' { + spec '' + } + + project / 'publishers' << { + 'jenkins.plugins.hipchat.HipChatNotifier' { + jenkinsUrl JENKINS_URL + authToken HIPCHAT_AUTH_TOKEN + room HIPCHAT_ROOM + } + + 'jenkins.plugins.publish__over__ssh.BapSshPublisherPlugin' { + consolePrefix 'SSH: ' + + } + } + + project / 'builders' << 'hudson.plugins.cmake.CmakeBuilder' { + sourceDir targetName + buildDir 'build' + buildType 'Release' + generator 'Unix Makefiles' + makeCommand 'make' + installCommand 'make install' + projectCmakePath '/usr/bin/cmake' + cleanBuild 'false' + cleanInstallDir 'false' + } + } + + publishers { + publishScp(ARTIFACT_DESTINATION) { + entry('**/build/$TARGET', '/deploy/$TARGET') + } + } + } +} \ No newline at end of file