Пример #1
0
def jenkins():
    print('Looking for a running Jenkins instance')
    webapi = Jenkins('http://127.0.0.1:60888')

    print('Removing all jobs ...')
    for job in webapi.jobs:
        webapi.job_delete(job.name)

    print('Creating test jobs ...')
    configxml = 'master-job-svn-config.xml'
    configxml = open(configxml).read().encode('utf8')
    webapi.job_create('master-job-svn', configxml)
    return webapi
Пример #2
0
def jenkins():
    print('Looking for a running Jenkins instance')
    webapi = Jenkins('http://127.0.0.1:60888')

    print('Removing all jobs ...')
    for job in webapi.jobs:
        webapi.job_delete(job.name)

    print('Creating test jobs ...')
    configxml = 'master-job-svn-config.xml'
    configxml = open(configxml).read().encode('utf8')
    webapi.job_create('master-job-svn', configxml)
    return webapi
Пример #3
0
class JenkinsControl(object):
    war = pjoin(here, 'tmp/jenkins.war')
    cli = pjoin(here, 'tmp/jenkins-cli.jar')
    home = pjoin(here, 'tmp/jenkins')

    def __init__(self, addr='127.0.0.1:60888', cport='60887'):
        self.addr, self.port = addr.split(':')
        self.url = 'http://%s' % addr
        self.py = Jenkins(self.url)

    def start_server(self):
        cmd = pjoin(here, './bin/start-jenkins.sh 1>/dev/null 2>&1')
        env = {
            'JENKINS_HOME': self.home,
            'JENKINS_PORT': self.port,
            'JENKINS_CPORT': self.cport,
            'JENKINS_ADDR': self.addr
        }
        check_call(cmd, shell=True, env=env)

    def shutdown_server(self):
        cmd = 'echo 0 | nc %s %s' % (self.addr, self.cport)
        check_call(cmd, shell=True)

    def clean_home(self):
        rmtree(self.home)

    def createjob(self, name, configxml_fn):
        configxml = open(configxml_fn).read().encode('utf8')
        self.py.job_create(name, configxml)

    def getjobs(self):
        return {i.name: i for i in self.py.jobs}

    def enabled(self, name):
        return self.py.job(name).info['buildable']

    def job_etree(self, job):
        res = self.py.job(job).config
        res = etree.fromstring(res)
        return res
Пример #4
0
class JenkinsControl(object):
    war = pjoin(here, "tmp/jenkins.war")
    cli = pjoin(here, "tmp/jenkins-cli.jar")
    home = pjoin(here, "tmp/jenkins")

    def __init__(self, addr="127.0.0.1:60888", cport="60887"):
        self.addr, self.port = addr.split(":")
        self.url = "http://%s" % addr
        self.py = Jenkins(self.url)

    def start_server(self):
        cmd = pjoin(here, "./bin/start-jenkins.sh 1>/dev/null 2>&1")
        env = {
            "JENKINS_HOME": self.home,
            "JENKINS_PORT": self.port,
            "JENKINS_CPORT": self.cport,
            "JENKINS_ADDR": self.addr,
        }
        check_call(cmd, shell=True, env=env)

    def shutdown_server(self):
        cmd = "echo 0 | nc %s %s" % (self.addr, self.cport)
        check_call(cmd, shell=True)

    def clean_home(self):
        rmtree(self.home)

    def createjob(self, name, configxml_fn):
        configxml = open(configxml_fn).read().encode("utf8")
        self.py.job_create(name, configxml)

    def getjobs(self):
        return {i.name: i for i in self.py.jobs}

    def enabled(self, name):
        return self.py.job(name).info["buildable"]

    def job_etree(self, job):
        res = self.py.job(job).config
        res = etree.fromstring(res)
        return res
Пример #5
0
class JenkinsControl(object):
    war = pjoin(here, 'tmp/jenkins.war')
    cli = pjoin(here, 'tmp/jenkins-cli.jar')
    home = pjoin(here, 'tmp/jenkins')

    def __init__(self, addr='127.0.0.1:60888', cport='60887'):
        self.addr, self.port = addr.split(':')
        self.url = 'http://%s' % addr
        self.py = Jenkins(self.url)

    def start_server(self):
        cmd = pjoin(here, './bin/start-jenkins.sh 1>/dev/null 2>&1')
        env = {'JENKINS_HOME':  self.home,
               'JENKINS_PORT':  self.port,
               'JENKINS_CPORT': self.cport,
               'JENKINS_ADDR':  self.addr}
        check_call(cmd, shell=True, env=env)

    def shutdown_server(self):
        cmd = 'echo 0 | nc %s %s' % (self.addr, self.cport)
        check_call(cmd, shell=True)

    def clean_home(self):
        rmtree(self.home)

    def createjob(self, name, configxml_fn):
        configxml = open(configxml_fn).read().encode('utf8')
        self.py.job_create(name, configxml)

    def getjobs(self):
        return {i.name: i for i in self.py.jobs}

    def enabled(self, name):
        return self.py.job(name).info['buildable']

    def job_etree(self, job):
        res = self.py.job(job).config
        res = etree.fromstring(res)
        return res
"""
Apache Ivy Base Job: Creates the base job for building Apache Ivy
"""
import os
from jenkins import Jenkins, JenkinsError

# get a handle for the jenkins server
j = Jenkins(os.environ['ENDPOINT'], os.environ['USERNAME'],
            os.environ['PASSWORD'])

# open the config.xml
with open("./xml/jobs/apache-ivy-base-job/config.xml") as config_file:
    CONFIG = config_file.read()

if j.job_exists("apache-ivy"):
    print("\tapache-ivy job exists. skipping...")
else:
    try:
        print("\tCreating apache-ivy-base-job...")
        j.job_create("apache-ivy", CONFIG)
    except JenkinsError:
        print("\tCouldn't create the job")
Пример #7
0
import os
import settings
from jenkins import Jenkins, JenkinsError

# get a handle for the jenkins server
j = Jenkins(os.environ['ENDPOINT'], os.environ['USERNAME'],
            os.environ['PASSWORD'])

# open the config.xml
with open("./xml/jobs/hourly/config.xml") as config_file:
    config = config_file.read()

for team in settings.teams:
    for job in settings.jobs:
        target = team + "-" + job

        if j.job_exists(target):
            print("\tJob exists; skipping: %s" % target)
        else:
            print("\tCreating job: %s" % target)
            try:
                j.job_create(team + "-" + job, config)
            except JenkinsError as e:
                print("\tERROR: %s", e)
Пример #8
0
import os
import settings
from jenkins import Jenkins, JenkinsError

# get a handle for the jenkins server
j = Jenkins(os.environ['ENDPOINT'], os.environ['USERNAME'],
            os.environ['PASSWORD'])

# open the config.xml
with open("./xml/folders/base/config.xml") as config_file:
    config = config_file.read()

for team in settings.teams:
    if j.job_exists(team):
        print("\tFolder exists; skipping: %s" % team)
    else:
        try:
            print("\tCreating folder: %s" % team)
            j.job_create(team, config)
        except JenkinsError as e:
            print("\tERROR: %s" % e)
Пример #9
0
import os
import settings
from jenkins import Jenkins, JenkinsError

# get a handle for the jenkins server
j = Jenkins(os.environ['ENDPOINT'], os.environ['USERNAME'], os.environ['PASSWORD'])

# open the config.xml
with open("./xml/folders/base/config.xml") as config_file:
    config = config_file.read()

for team in settings.teams:
    if j.job_exists(team):
        print("\tFolder exists; skipping: %s" % team)
    else:
        try:
            print("\tCreating folder: %s" % team)
            j.job_create(team, config)
        except JenkinsError as e:
            print("\tERROR: %s" % e)