initial
This commit is contained in:
92
tasks.py
Normal file
92
tasks.py
Normal file
@@ -0,0 +1,92 @@
|
||||
"""
|
||||
|
||||
"""
|
||||
# ------------------------------------------------------- #
|
||||
# imports
|
||||
# ------------------------------------------------------- #
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from invoke import task
|
||||
|
||||
from time import time
|
||||
|
||||
from BBProjectUtils.docker_utils import docker_build as lib_docker_build, docker_deployment as lib_docker_deployment, \
|
||||
docker_login_registry
|
||||
from BBProjectUtils.file_utils import set_version_nr_in_file
|
||||
from BBProjectUtils.git_utils import check_ready_to_release, release_commit
|
||||
from BBProjectUtils.standard_tasks import set_venv_name
|
||||
|
||||
|
||||
# ------------------------------------------------------- #
|
||||
# definitions
|
||||
# ------------------------------------------------------- #
|
||||
ARCHIVE_NAME = "SevReqCircle"
|
||||
|
||||
VIRTUALENV_NAME = f"py311_{ARCHIVE_NAME}"
|
||||
DEVELOP_VERSION = "99.99.99"
|
||||
|
||||
DOCKER_REGISTRY = "gitea.tech-buddy.at/bitbuddydev"
|
||||
DOCKER_IMAGE_NAME = "sev_req_circle"
|
||||
|
||||
set_venv_name(VIRTUALENV_NAME)
|
||||
|
||||
# ------------------------------------------------------- #
|
||||
# global variables
|
||||
# ------------------------------------------------------- #
|
||||
|
||||
|
||||
# ------------------------------------------------------- #
|
||||
# functions
|
||||
# ------------------------------------------------------- #
|
||||
|
||||
|
||||
# ------------------------------------------------------- #
|
||||
# classes
|
||||
# ------------------------------------------------------- #
|
||||
|
||||
|
||||
# ------------------------------------------------------- #
|
||||
# tasks
|
||||
# ------------------------------------------------------- #
|
||||
@task
|
||||
def docker_build(c, tag=""):
|
||||
lib_docker_build(c, DOCKER_IMAGE_NAME, tag)
|
||||
|
||||
|
||||
@task
|
||||
def docker_deployment(c, tag):
|
||||
docker_login_registry(c, registry=DOCKER_REGISTRY, user=os.getenv('REP_USER'),
|
||||
pwd=os.getenv('REP_PWD'))
|
||||
|
||||
lib_docker_deployment(c, DOCKER_IMAGE_NAME, DOCKER_REGISTRY, tag + "-amd64")
|
||||
|
||||
|
||||
@task
|
||||
def docker_deploy_raspi(c, tag):
|
||||
start_time = time()
|
||||
print("START deploying docker image")
|
||||
docker_login_registry(c, DOCKER_REGISTRY, os.getenv("REP_USER"), os.getenv("REP_PWD"))
|
||||
c.run("docker buildx use bbbuilder")
|
||||
c.run("docker buildx build --platform linux/arm64 "
|
||||
"-t {registry}/{img_name}{tag} .\\ --load".format(registry=DOCKER_REGISTRY,
|
||||
img_name=DOCKER_IMAGE_NAME,
|
||||
tag=":" + tag + "-arm64" if tag != "" else ":latest-arm64"))
|
||||
|
||||
c.run("docker push {registry}/{img_name}:{tag}".format(registry=DOCKER_REGISTRY,
|
||||
img_name=DOCKER_IMAGE_NAME,
|
||||
tag=tag + "-arm64"))
|
||||
print(f"FINISHED deploying docker image in {int((time() - start_time)/60)} minutes")
|
||||
return True
|
||||
|
||||
|
||||
@task
|
||||
def release(c, version):
|
||||
if check_ready_to_release():
|
||||
set_version_nr_in_file("src/start_page.py", 'APP_VERSION = "\d+.\d+.\d+"', f'APP_VERSION = "{version}"')
|
||||
docker_deployment(c, version)
|
||||
docker_deploy_raspi(c, version)
|
||||
|
||||
if release_commit(version):
|
||||
set_version_nr_in_file("src/start_page.py", 'APP_VERSION = "\d+.\d+.\d+"', f'APP_VERSION = "{DEVELOP_VERSION}"')
|
||||
subprocess.run('git commit -am "minor set develop version after release"')
|
||||
Reference in New Issue
Block a user