mirror of
https://git.isptech.ru/ISPsystem/isp-maintenance.git
synced 2025-02-01 10:50:52 +01:00
51 lines
1.1 KiB
Python
51 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
import click
|
|
import sh
|
|
|
|
from .lazy_group import LazyGroup
|
|
from .utils import abort_if_false
|
|
from . import settings
|
|
|
|
|
|
@click.group()
|
|
def cli1():
|
|
pass
|
|
|
|
|
|
@click.group(
|
|
cls=LazyGroup,
|
|
lazy_subcommands={'docker-compose': 'cli.builder.docker_compose'},
|
|
)
|
|
def cli2():
|
|
pass
|
|
|
|
|
|
@click.group(help='cmd for build/destroy project in docker containers')
|
|
def docker_compose():
|
|
pass
|
|
|
|
|
|
@docker_compose.command(help='cmd for build project in docker containers')
|
|
def build():
|
|
with sh.contrib.sudo(password=settings.SUDO_PASSWORD, _with=True):
|
|
sh.docker_compose('-f', settings.COMPOSE_FILE, 'build', _fg=True)
|
|
|
|
|
|
@docker_compose.command(help='cmd for destroy project in docker containers')
|
|
@click.option(
|
|
'--yes',
|
|
is_flag=True,
|
|
callback=abort_if_false,
|
|
expose_value=False,
|
|
prompt='Are you sure you want to destroy docker containers')
|
|
def destroy():
|
|
with sh.contrib.sudo(password=settings.SUDO_PASSWORD, _with=True):
|
|
sh.docker_compose('-f', settings.COMPOSE_FILE, 'down', _fg=True)
|
|
|
|
|
|
cli = click.CommandCollection(
|
|
sources=[cli1, cli2],
|
|
help='cmd for building the project'
|
|
)
|