From d9d1ff8dfe6f7cab87174e14b3be12b2b22661a8 Mon Sep 17 00:00:00 2001 From: parazyd Date: Wed, 26 Sep 2018 19:13:49 +0200 Subject: [PATCH] Use a jarargs variable in config.py instead of placing it everywhere. --- jenkins_backend/README.md | 3 +-- jenkins_backend/config.py | 5 +++++ jenkins_backend/sync_jobs.py | 19 +++++++------------ 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/jenkins_backend/README.md b/jenkins_backend/README.md index 1e9ea8a..94665e8 100644 --- a/jenkins_backend/README.md +++ b/jenkins_backend/README.md @@ -18,8 +18,7 @@ important credentials which allow the backend to work with Jenkins' API. The `jenkins_creds.py` file should look like the following: ``` jenkins_host = 'https://sdk.dyne.org:4443' -jenkins_user = 'toaster' -jenkins_pass = 'thetoasterpassword' +jenkins_cred = 'toaster:thetoasterpassword' ``` These files will be read and imported by `sync_jobs.py` when ran. diff --git a/jenkins_backend/config.py b/jenkins_backend/config.py index 07ad798..e214154 100644 --- a/jenkins_backend/config.py +++ b/jenkins_backend/config.py @@ -1,7 +1,12 @@ #!/usr/bin/env python3 +from jenkins_creds import (jenkins_host, jenkins_cred) + # Path to jenkins-cli.jar jarpath = '/var/cache/jenkins/war/WEB-INF/jenkins-cli.jar' +# jar parameters +jarargs = ['java', '-jar', jarpath, '-s', jenkins_host, '-auth', jenkins_cred] + # Physical path to where jobs are held jobpath = '/srv/toaster' diff --git a/jenkins_backend/sync_jobs.py b/jenkins_backend/sync_jobs.py index 77f8898..8571b06 100755 --- a/jenkins_backend/sync_jobs.py +++ b/jenkins_backend/sync_jobs.py @@ -6,8 +6,7 @@ Module for backend talk with Jenkins executed by the web/CGI from argparse import ArgumentParser from subprocess import run -from config import jarpath, jobpath -from jenkins_creds import (jenkins_host, jenkins_user, jenkins_pass) +from config import (jarargs, jobpath) def html_escape(string): @@ -53,23 +52,20 @@ def add_job(jobname): for i in replacements: sdk_job = sdk_job.replace('{{{%s}}}' % i[0], i[1]) - creds = '%s:%s' % (jenkins_user, jenkins_pass) - clijob = run(['java', '-jar', jarpath, '-s', jenkins_host, '-auth', creds, - 'create-job', jobname.replace('@', 'AT')], - input=sdk_job.encode()) + jarargs.append('create-job') + jarargs.append(jobname.replace('@', 'AT')) - return clijob + return run(jarargs, input=sdk_job.encode()) def del_job(jobname): """ Function for deleting a Jenkins job. """ - creds = '%s:%s' % (jenkins_user, jenkins_pass) - clijob = run(['java', '-jar', jarpath, '-s', jenkins_host, '-auth', creds, - 'delete-job', jobname.replace('@', 'AT')]) + jarargs.append('delete-job') + jarargs.append(jobname.replace('@', 'AT')) - return clijob + return run(jarargs) def main(): @@ -88,7 +84,6 @@ def main(): args = parser.parse_args() - if args.add: if args.dryrun: print('Would add:', args.jobname)