Compare commits

..

No commits in common. "e64fda687bbcbc4d2a2f443f9384efa7523f2a6c" and "93f61e55236e833379006a69ef848943ddd3fa30" have entirely different histories.

3 changed files with 14 additions and 30 deletions

View File

@ -18,7 +18,8 @@ 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_cred = 'toaster:thetoasterpassword'
jenkins_user = 'toaster'
jenkins_pass = 'thetoasterpassword'
```
These files will be read and imported by `sync_jobs.py` when ran.

View File

@ -1,12 +1,7 @@
#!/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'

View File

@ -6,7 +6,8 @@ Module for backend talk with Jenkins executed by the web/CGI
from argparse import ArgumentParser
from subprocess import run
from config import (jarargs, jobpath)
from config import jarpath, jobpath
from jenkins_creds import (jenkins_host, jenkins_user, jenkins_pass)
def html_escape(string):
@ -52,30 +53,23 @@ def add_job(jobname):
for i in replacements:
sdk_job = sdk_job.replace('{{{%s}}}' % i[0], i[1])
jarargs.append('create-job')
jarargs.append(jobname.replace('@', 'AT'))
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())
return run(jarargs, input=sdk_job.encode())
return clijob
def del_job(jobname):
"""
Function for deleting a Jenkins job.
"""
jarargs.append('delete-job')
jarargs.append(jobname.replace('@', 'AT'))
creds = '%s:%s' % (jenkins_user, jenkins_pass)
clijob = run(['java', '-jar', jarpath, '-s', jenkins_host, '-auth', creds,
'delete-job', jobname.replace('@', 'AT')])
return run(jarargs)
def run_job(jobname):
"""
Function for running a Jenkins job.
"""
jarargs.append('build')
jarargs.append(jobname.replace('@', 'AT'))
return run(jarargs)
return clijob
def main():
@ -86,7 +80,6 @@ def main():
parser.add_argument('-a', '--add', action='store_true')
parser.add_argument('-d', '--delete', action='store_true')
parser.add_argument('-n', '--dryrun', action='store_true')
parser.add_argument('-r', '--run', action='store_true')
parser.add_argument('jobname')
# NOTE: jobname should be email-arch-date, and a predefined directory
# somewhere on the filesystem. e.g.:
@ -95,6 +88,7 @@ def main():
args = parser.parse_args()
if args.add:
if args.dryrun:
print('Would add:', args.jobname)
@ -107,12 +101,6 @@ def main():
return
print('Removing job:', args.jobname)
del_job(args.jobname)
elif args.run:
if args.dryrun:
print('Would build:', args.jobname)
return
print('Building job:', args.jobname)
run_job(args.jobname)
if __name__ == '__main__':