diff options
author | Lars Wirzenius <liw@liw.fi> | 2012-08-11 19:03:55 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2012-08-11 19:03:55 +0100 |
commit | 952c79f64cc8f3bade491b6c08fe29320db40206 (patch) | |
tree | 5d3008c9de520f8618dfb95e4e8994864f053b7f /jenkinstool | |
parent | 59ba6cfef84899838fc0826bb7f73c679fcf5a6b (diff) | |
download | jenkinstool-952c79f64cc8f3bade491b6c08fe29320db40206.tar.gz |
Add job that triggers build of all projects
Diffstat (limited to 'jenkinstool')
-rwxr-xr-x | jenkinstool | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/jenkinstool b/jenkinstool index 5a10974..c3b3131 100755 --- a/jenkinstool +++ b/jenkinstool @@ -64,11 +64,27 @@ class JobGenerator(object): ''' + trigger = self.trigger_everything_job(config) + jobs = [trigger] for project in config['projects']: + first_in_project = True for jc in self.generate_project(config, project): - logging.debug('yielding job id %s' % jc.job_id()) - logging.debug('yielding config.xml:\n%s' % jc.tostring()) - yield jc.job_id(), jc.tostring() + jobs.append(jc) + if first_in_project: + trigger.add_build_trigger(jc.job_id()) + first_in_project = False + + for jc in jobs: + yield jc.job_id(), jc.tostring() + + def trigger_everything_job(self, config): + '''Create job that triggers every other job.''' + + host = config['hosts'][0] + project = {'name': 'trigger'} + jc = self.create_job_config(host, project, 'trigger') + jc.set_description('A1 Job Trigger') + return jc def generate_project(self, config, project): '''Generate all the jobs for a given project.''' @@ -159,7 +175,8 @@ debuild -S -us -uc 'artifacts': '/var/www/jenkins', 'artifacts-url': 'http://192.168.122.218/jenkins', }) - jc.set_bzr(project['bzr']) + if 'bzr' in project: + jc.set_bzr(project['bzr']) return jc def add_rsync_workspace_to_target(self, jc): |