c4k-forgejo/infrastructure/backup/build.py

58 lines
1.1 KiB
Python
Raw Normal View History

2022-08-19 09:59:04 +00:00
from os import environ
2023-10-13 13:44:20 +00:00
from datetime import datetime
2022-08-19 09:59:04 +00:00
from pybuilder.core import task, init
from ddadevops import *
2023-10-13 13:44:20 +00:00
name = "c4k-forgejo"
MODULE = "backup"
2023-06-16 09:58:40 +00:00
PROJECT_ROOT_PATH = "../.."
2024-01-08 17:27:43 +00:00
version = "3.1.2"
2022-08-19 09:59:04 +00:00
@init
def initialize(project):
2023-10-13 13:44:20 +00:00
image_tag = version
if "dev" in image_tag:
image_tag += datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
2023-06-16 09:58:40 +00:00
input = {
"name": name,
"module": MODULE,
"stage": "notused",
"project_root_path": PROJECT_ROOT_PATH,
"build_types": ["IMAGE"],
"mixin_types": [],
2023-10-13 13:44:20 +00:00
"image_naming": "NAME_AND_MODULE",
"image_tag": f"{image_tag}",
2023-06-16 09:58:40 +00:00
}
2023-10-13 13:44:20 +00:00
project.build_depends_on("ddadevops>=4.7.0")
2023-06-16 09:58:40 +00:00
build = DevopsImageBuild(project, input)
2022-08-19 09:59:04 +00:00
build.initialize_build_dir()
@task
def image(project):
build = get_devops_build(project)
build.image()
2023-06-16 09:58:40 +00:00
2022-08-19 09:59:04 +00:00
@task
def drun(project):
build = get_devops_build(project)
build.drun()
2023-06-16 09:58:40 +00:00
2022-08-19 09:59:04 +00:00
@task
2023-10-13 13:44:20 +00:00
def test(project):
2022-08-19 09:59:04 +00:00
build = get_devops_build(project)
2023-10-13 13:44:20 +00:00
build.test()
2022-08-19 09:59:04 +00:00
2023-06-16 09:58:40 +00:00
2022-08-19 09:59:04 +00:00
@task
2023-10-13 13:44:20 +00:00
def publish(project):
2022-08-19 09:59:04 +00:00
build = get_devops_build(project)
2023-10-13 13:44:20 +00:00
build.dockerhub_login()
build.dockerhub_publish()