from bricklayer.utils import pystache import git from twisted.internet import threads, reactor, defer from config import BrickConfig from projects import Projects from builder_rpm import BuilderRpm from builder_deb import BuilderDeb from build_options import BuildOptions from build_container import BuildContainer #from dreque import Dreque config = BrickConfig() redis_server = config.get('redis', 'redis-server') log_file = config.get('log', 'file') #queue = Dreque(redis_server) logging.basicConfig(filename=log_file, level=logging.DEBUG) log = logging.getLogger('builder') @defer.inlineCallbacks def build_project(kargs): builder = Builder(kargs['project']) kargs.pop('project') yield builder.build_project(**kargs) class Builder(object): def __init__(self, project):
from twisted.internet import threads, reactor, defer from config import BrickConfig from model.project import Project # from builder_rpm import BuilderRpm from builder_deb import BuilderDeb from build_options import BuildOptions from build_container import BuildContainer from current_build import CurrentBuild #from dreque import Dreque config = BrickConfig() redis_server = config.get('redis', 'redis-server') log_file = config.get('log', 'file') #queue = Dreque(redis_server) logging.basicConfig(filename=log_file, level=logging.DEBUG) log = logging.getLogger('builder') @defer.inlineCallbacks def build_project(kargs): builder = Builder(kargs['project']) kargs.pop('project') yield builder.build_project(**kargs)
from projects import Projects from groups import Groups from builder import Builder from build_info import BuildInfo from config import BrickConfig import cyclone.web import cyclone.escape from twisted.internet import reactor from twisted.python import log from dreque import Dreque brickconfig = BrickConfig() queue = Dreque(brickconfig.get('redis', 'redis-server')) class Project(cyclone.web.RequestHandler): def post(self, *args): if len(args) >= 1: name = args[0] project = Projects(name) for key, value in self.request.arguments.iteritems(): if key in ("git_url", "version", "build_cmd", "install_cmd"): setattr(project, key, value[0]) project.save() try: if not Projects(self.get_argument('name')).exists(): raise except Exception, e:
from groups import Groups from git import Git from builder import Builder from build_info import BuildInfo from config import BrickConfig import cyclone.web import cyclone.escape from twisted.internet import reactor from twisted.python import log from twisted.application import service, internet from dreque import Dreque brickconfig = BrickConfig() queue = Dreque(brickconfig.get('redis', 'redis-server')) class Project(cyclone.web.RequestHandler): def post(self, *args): if len(args) >= 1: name = args[0] project = Projects(name) for key, value in self.request.arguments.iteritems(): if key in ("git_url", "version", "build_cmd", "install_cmd"): setattr(project, key, value[0]) project.save() try: if not Projects(self.get_argument('name')).exists(): raise
class Main(cyclone.web.RequestHandler): def get(self): self.redirect('/static/index.html') restApp = cyclone.web.Application([ (r'/project', Project), (r'/project/?(.*)', Project), (r'/branch/(.*)', Branch), (r'/clear/(.*)', Clear), (r'/build/current', Current), (r'/build/(.*)', Build), (r'/group', Group), (r'/group/?(.*)', Group), (r'/log/(.*)/+(.*)', Log), (r'/static/(.*)', cyclone.web.StaticFileHandler, { 'path': brickconfig.get('static', 'dir') }), (r'/repo/(.*)', cyclone.web.StaticFileHandler, { 'path': brickconfig.get('local_repo', 'dir') }), (r'/', Main), ]) application = service.Application("bricklayer_rest") server = internet.TCPServer(int(brickconfig.get('server', 'port')), restApp, interface="0.0.0.0") server.setServiceParent(application)
def delete(self): CurrentBuild.delete_all() self.write(cyclone.escape.json_encode("ok")) class Main(cyclone.web.RequestHandler): def get(self): self.redirect("/static/index.html") restApp = cyclone.web.Application( [ (r"/project", Project), (r"/project/?(.*)", Project), (r"/branch/(.*)", Branch), (r"/clear/(.*)", Clear), (r"/build/current", Current), (r"/build/(.*)", Build), (r"/group", Group), (r"/group/?(.*)", Group), (r"/log/(.*)/+(.*)", Log), (r"/static/(.*)", cyclone.web.StaticFileHandler, {"path": brickconfig.get("static", "dir")}), (r"/repo/(.*)", cyclone.web.StaticFileHandler, {"path": brickconfig.get("local_repo", "dir")}), (r"/", Main), ] ) application = service.Application("bricklayer_rest") server = internet.TCPServer(int(brickconfig.get("server", "port")), restApp, interface="0.0.0.0") server.setServiceParent(application)
from git import Git from builder import Builder from build_info import BuildInfo from config import BrickConfig import cyclone.web import cyclone.escape from twisted.internet import reactor from twisted.python import log from twisted.application import service, internet from dreque import Dreque brickconfig = BrickConfig() queue = Dreque(brickconfig.get('redis', 'redis-server')) class Project(cyclone.web.RequestHandler): def post(self, *args): if len(args) >= 1: name = args[0] project = Projects(name) for key, value in self.request.arguments.iteritems(): if key in ("git_url", "version", "build_cmd", "install_cmd"): setattr(project, key, value[0]) project.save() try: if not Projects(self.get_argument('name')).exists(): raise except Exception, e: