diff options
author | Lars Wirzenius <liw@liw.fi> | 2012-08-25 11:08:03 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2012-08-25 11:08:03 +0100 |
commit | 0d9f4b050538d128d8efc26236e32fea2bb8a8c0 (patch) | |
tree | ae90a9f3fce98796348019e64c3a8b1065c46a9a /jenkinstool | |
parent | 4a43104790d81e67130552eb6732710278189023 (diff) | |
download | jenkinstool-0d9f4b050538d128d8efc26236e32fea2bb8a8c0.tar.gz |
Simplify workspace clearing and getting sources from vcs
Diffstat (limited to 'jenkinstool')
-rwxr-xr-x | jenkinstool | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/jenkinstool b/jenkinstool index c2d6dc5..dc34e5f 100755 --- a/jenkinstool +++ b/jenkinstool @@ -73,11 +73,11 @@ commit_date() } project="%(project.name)s" -workspace="/var/lib/jenkins/workspace/${project}_localhost_vcs-update" +vcsworkspace="/var/lib/jenkins/workspace/${project}_localhost_vcs-update" workdir="$(pwd)" -if [ -e "$workspace" ] +if [ -e "$vcsworkspace" ] then - cd "$workspace" + cd "$vcsworkspace" fi # Split into two so that if getting the upstream version fails, the @@ -332,10 +332,8 @@ sudo apt-get --no-remove --allow-unauthenticated -y upgrade jc.set_description('Build %(project.name)s from %(project.vcs)s ' 'on %(host.ssh-target)s') - jc.add_shell_command(prelude + ''' -find . -delete -cp -a "$workspace/." . -''') + self.add_clear_workspace(jc) + self.add_get_source_from_vcs(jc) self.add_rsync_workspace_to_target(jc) if not self.pretend: jc.add_ssh_command('\n'.join(project['build-commands'])) @@ -349,12 +347,12 @@ cp -a "$workspace/." . jc = self.create_job_config(host, project, 'tarball') jc.set_description('Create release tarball for %(project.name)s ' 'from %(project.vcs)s') + self.add_clear_workspace(jc) jc.add_shell_command(prelude + '''\ -find . -delete if [ ! -e "$artifacts/$tarball" ] then old="$(pwd)" - cd "$workspace" + cd "$vcsworkspace" if [ -e .bzr ] then mkdir "${project}-${version}" @@ -389,10 +387,8 @@ fi jc.set_description('Create Debian source package for %(project.name)s ' 'from %(project.vcs)s on %(host.ssh-target)s') - jc.add_shell_command(prelude + '''\ -find . -delete -cp -a "$workspace/." . -''') + self.add_clear_workspace(jc) + self.add_get_source_from_vcs(jc) self.add_rsync_workspace_to_target(jc) jc.add_ssh_command(prelude + '''\ if url_exists "$dsc_url" @@ -427,10 +423,8 @@ fi jc.set_description('Build Debian binary package for %(project.name)s ' 'from %(project.vcs)s on %(host.ssh-target)s') - jc.add_shell_command(prelude + ''' -find . -delete -cp -a "$workspace/." . -''') + self.add_clear_workspace(jc) + self.add_get_source_from_vcs(jc) self.add_rsync_workspace_to_target(jc) @@ -513,6 +507,12 @@ rm -rf "$temp" 'rsync -aHS --delete-before ' '"%(host.ssh-target)s:%(host.directory)s/." .') + def add_clear_workspace(self, jc): + jc.add_shell_command('find . -delete') + + def add_get_vcs_sources(self, jc): + jc.add_shell_command(prelude + 'cp "$vcsworkspace/." .') + class JenkinsTool(cliapp.Application): '''Manipulate jobs in running Jenkins CI server.''' |