diff options
author | Lars Wirzenius <liw@liw.fi> | 2012-08-12 17:57:26 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2012-08-12 17:57:26 +0100 |
commit | c3f4b39aff6b9d2643aa4992fc31e82c289ef157 (patch) | |
tree | 8c5ca7d42053483d46c0e6ad05215f78cda5c0da /jenkinstool | |
parent | 93ed0aea95d7ef88b40cd86b733cf83296f2d396 (diff) | |
download | jenkinstool-c3f4b39aff6b9d2643aa4992fc31e82c289ef157.tar.gz |
Add job to create/update pbuilder
Diffstat (limited to 'jenkinstool')
-rwxr-xr-x | jenkinstool | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/jenkinstool b/jenkinstool index 04d2555..c4bb93e 100755 --- a/jenkinstool +++ b/jenkinstool @@ -71,6 +71,10 @@ class JobGenerator(object): trigger.add_build_trigger(reprepro.job_id()) jobs.append(reprepro) + for host in config['hosts']: + jc = self.pbuilder_create_job(host) + jobs.append(jc) + for project in config['projects']: first_in_project = True for jc in self.generate_project(config, project): @@ -91,6 +95,12 @@ class JobGenerator(object): jc.set_description('A1 Job Trigger') return jc + host = config['hosts'][0] + project = {'name': 'a1trigger'} + jc = self.create_job_config(host, project, 'trigger') + jc.set_description('A1 Job Trigger') + return jc + def reprepro_setup_job(self, config): '''Create job that sets up reprepro.''' @@ -147,6 +157,33 @@ end jc.add_shell_command(script) return jc + + def pbuilder_create_job(self, host): + '''Create job create/update pbuilder base.tgz.''' + + project = { 'name': 'pbuilder-create' } + jc = self.create_job_config(host, project, 'pbuilder-create') + jc.set_description( + 'Create or update pbuilder base.tgz on %(host.ssh-target)s') + + jc.add_ssh_command(''' +basetgz=/var/cache/pbuilder/base.tgz +debianurl="%(global.artifacts-url)s/debian" +if [ -e "$basetgz" ] +then + sudo pbuilder --update --override-config \ + --distribution "%(host.debian-dist)s" \ + --mirror "%(global.debian-mirror)s" \ + --othermirror "deb $(debianurl) %(host.debian-dist)s main" +else + sudo pbuilder --create \ + --distribution "%(host.debian-dist)s" \ + --mirror "%(global.debian-mirror)s" \ + --othermirror "deb $debianurl %(host.debian-dist)s main" +fi +''') + + return jc def generate_project(self, config, project): '''Generate all the jobs for a given project.''' @@ -295,6 +332,7 @@ rm -rf "$temp" 'artifacts-url': 'http://192.168.122.218/jenkins', 'dput-host': 'liw-jenkins', 'repreprobase': '/var/www/jenkins/debian', + 'debian-mirror': 'http://cdn.debian.net/debian', }) if 'bzr' in project: jc.set_bzr(project['bzr']) |