view service/dhcpleases/tasks.py @ 1512:1e9cfec1be78

don't require first arg on PatchedGraph.serialize Ignore-this: bc695823e03dbd012e03efa4e40b6aca darcs-hash:1dbf9271b5ca55c78987c474ef223af9d5b811d2
author drewp <drewp@bigasterisk.com>
date Mon, 03 Feb 2020 23:46:29 -0800
parents 73c2b13692b7
children d7e82b1b31c4
line wrap: on
line source

from invoke import task

JOB = 'dhcpleases'
PORT = 9073
TAG = f'bang6:5000/{JOB}_x86:latest'


@task
def build_image(ctx):
    ctx.run(f'docker build --network=host -t {TAG} .')

@task(pre=[build_image])
def push_image(ctx):
    ctx.run(f'docker push {TAG}')

@task(pre=[build_image])
def shell(ctx):
    ctx.run(f'docker run --rm -it --cap-add SYS_PTRACE --net=host {TAG} /bin/bash', pty=True)

@task(pre=[build_image])
def local_run(ctx):
    ctx.run(f'docker run --rm -it -p {PORT}:{PORT} --net=host -v /opt/dnsmasq:/opt/dnsmasq {TAG} python3 dhcpleases.py -v', pty=True)

@task(pre=[push_image])
def redeploy(ctx):
    ctx.run(f'sudo /my/proj/ansible/playbook -l bang -t {JOB}')
    ctx.run(f'supervisorctl -s http://bang:9001/ restart {JOB}_{PORT}')