summaryrefslogtreecommitdiff
path: root/jenkinstool
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2012-08-25 11:08:03 +0100
committerLars Wirzenius <liw@liw.fi>2012-08-25 11:08:03 +0100
commit0d9f4b050538d128d8efc26236e32fea2bb8a8c0 (patch)
treeae90a9f3fce98796348019e64c3a8b1065c46a9a /jenkinstool
parent4a43104790d81e67130552eb6732710278189023 (diff)
downloadjenkinstool-0d9f4b050538d128d8efc26236e32fea2bb8a8c0.tar.gz
Simplify workspace clearing and getting sources from vcs
Diffstat (limited to 'jenkinstool')
-rwxr-xr-xjenkinstool34
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.'''