def github_hook(): data = json.loads(request.form.get('payload', '')) # make sure this came from unisubs repo = data.get('repository', {}) if repo.get('name') == 'unisubs' and \ repo.get('url') == 'https://github.com/pculture/unisubs': # get the branch branch = data.get('ref').split('refs/heads/')[-1] db.log({ 'ip': request.remote_addr, 'user': '******', 'command': 'Hook: deploy for {0}'.format(branch), }) # spawn process to not delay the response to github p = Process(target=deploy_demo, args=(branch,)) p.start() return 'kthxbye'
def github_hook(): data = json.loads(request.form.get('payload', '')) # make sure this came from unisubs repo = data.get('repository', {}) if repo.get('name') == 'unisubs' and \ repo.get('url') == 'https://github.com/pculture/unisubs': # get the branch branch = data.get('ref').split('refs/heads/')[-1] db.log({ 'ip': request.remote_addr, 'user': '******', 'command': 'Hook: deploy for {0}'.format(branch), }) # spawn process to not delay the response to github p = Process(target=deploy_demo, args=(branch, )) p.start() return 'kthxbye'
def index(): workflows = config.get_workflows() job = None result_key = None workflow_id = None workflows = utils.sorted_dict(workflows, 'name') if request.method == 'POST': form = request.form workflow_id = form.get('workflow_id') if workflow_id: workflow = [x for x in workflows if x.get('name') == workflow_id][0] username = session.get('user', {}).get('username') db.log({ 'ip': request.remote_addr, 'user': username, 'command': 'Workflow: {0}'.format(workflow_id), }) args = workflow.get('arguments') # substitute args task = workflow.get('command') if args: for a in args: arg_name = a.get('name') arg_val = form.get(arg_name, None) task = task.replace('<{0}>'.format(arg_name), form.get(arg_name)) # add proxy_user to get launchpad user task = task.replace('<proxy_user>', username) # generate result_key result_key = str(int(time.time())) # run command job = queue_task(ops.run_fabric_task, task, result_key, workflow.get('notify')) ctx = { 'workflows': workflows, 'job': job, 'result_key': result_key, } return render_template('admin/index.html', **ctx)
def console(): task = '' job = None result_key = None if request.method == 'POST': form = request.form task = form.get('task') if task: result_key = str(int(time.time())) db.log({ 'ip': request.remote_addr, 'user': session.get('user', {}).get('username'), 'command': task }) # run command job = queue_task(ops.run_fabric_task, task, result_key, False) ctx = { 'task': task, 'job': job, 'result_key': result_key, } return render_template('admin/console.html', **ctx)