58 lines
1.3 KiB
Python
58 lines
1.3 KiB
Python
|
#!/usr/bin/env python3
|
||
|
# -*- coding: utf-8 -*-
|
||
|
import click
|
||
|
import sh
|
||
|
|
||
|
from .lazy_group import LazyGroup
|
||
|
from . import settings
|
||
|
|
||
|
|
||
|
@click.group()
|
||
|
def cli1():
|
||
|
pass
|
||
|
|
||
|
|
||
|
@click.group(
|
||
|
cls=LazyGroup,
|
||
|
lazy_subcommands={'docker-compose': 'cli.runner.docker_compose'},
|
||
|
)
|
||
|
def cli2():
|
||
|
pass
|
||
|
|
||
|
|
||
|
@click.group(help='cmd for run/stop/restart project in docker containers')
|
||
|
def docker_compose():
|
||
|
pass
|
||
|
|
||
|
|
||
|
@docker_compose.command(help='cmd for run project docker containers')
|
||
|
def up():
|
||
|
with sh.contrib.sudo(password=settings.SUDO_PASSWORD, _with=True):
|
||
|
sh.docker_compose('-f', settings.COMPOSE_FILE, 'up', '-d', _fg=True)
|
||
|
|
||
|
|
||
|
@docker_compose.command(help='cmd for down project docker containers')
|
||
|
def down():
|
||
|
with sh.contrib.sudo(password=settings.SUDO_PASSWORD, _with=True):
|
||
|
sh.docker_compose('-f', settings.COMPOSE_FILE, 'down', _fg=True)
|
||
|
|
||
|
|
||
|
@docker_compose.command(help='cmd for restart project docker containers')
|
||
|
def restart():
|
||
|
with sh.contrib.sudo(password=settings.SUDO_PASSWORD, _with=True):
|
||
|
sh.docker_compose(
|
||
|
'-f',
|
||
|
settings.COMPOSE_FILE,
|
||
|
'up',
|
||
|
'-d',
|
||
|
'--build',
|
||
|
'--force-recreate',
|
||
|
_fg=True
|
||
|
)
|
||
|
|
||
|
|
||
|
cli = click.CommandCollection(
|
||
|
sources=[cli1, cli2],
|
||
|
help='cmd for running the project standalone or docker-compose'
|
||
|
)
|