2020-11-13 15:19:47 +00:00
|
|
|
from os import environ
|
|
|
|
from pybuilder.core import task, init
|
|
|
|
from ddadevops import *
|
|
|
|
|
2023-03-17 16:27:36 +00:00
|
|
|
name = "devops-build"
|
|
|
|
MODULE = "docker"
|
|
|
|
PROJECT_ROOT_PATH = "../.."
|
2020-11-13 15:19:47 +00:00
|
|
|
|
|
|
|
|
|
|
|
@init
|
|
|
|
def initialize(project):
|
2023-03-17 16:27:36 +00:00
|
|
|
project.build_depends_on("ddadevops>=4.0.0-dev")
|
|
|
|
stage = "notused"
|
|
|
|
dockerhub_user = environ.get("DOCKERHUB_USER")
|
2022-05-20 08:01:53 +00:00
|
|
|
if not dockerhub_user:
|
2023-03-17 16:27:36 +00:00
|
|
|
dockerhub_user = gopass_field_from_path("meissa/web/docker.com", "login")
|
|
|
|
dockerhub_password = environ.get("DOCKERHUB_PASSWORD")
|
2022-05-20 08:01:53 +00:00
|
|
|
if not dockerhub_password:
|
2023-03-17 16:27:36 +00:00
|
|
|
dockerhub_password = gopass_password_from_path("meissa/web/docker.com")
|
|
|
|
tag = environ.get("CI_COMMIT_TAG")
|
2022-05-20 08:01:53 +00:00
|
|
|
if not tag:
|
|
|
|
tag = get_tag_from_latest_commit()
|
2023-03-17 16:27:36 +00:00
|
|
|
|
|
|
|
devops = Devops(
|
|
|
|
stage=stage,
|
|
|
|
project_root_path=PROJECT_ROOT_PATH,
|
|
|
|
module=MODULE,
|
|
|
|
name=name,
|
|
|
|
)
|
|
|
|
image = Image(
|
|
|
|
dockerhub_user=dockerhub_user,
|
|
|
|
dockerhub_password=dockerhub_password,
|
|
|
|
docker_publish_tag=tag,
|
|
|
|
devops=devops,
|
|
|
|
)
|
|
|
|
|
|
|
|
build = DevopsImageBuild(project, image=image)
|
2020-11-13 15:19:47 +00:00
|
|
|
build.initialize_build_dir()
|
|
|
|
|
|
|
|
|
|
|
|
@task
|
|
|
|
def image(project):
|
|
|
|
build = get_devops_build(project)
|
|
|
|
build.image()
|
|
|
|
|
2023-03-17 16:27:36 +00:00
|
|
|
|
2020-11-13 15:19:47 +00:00
|
|
|
@task
|
|
|
|
def drun(project):
|
|
|
|
build = get_devops_build(project)
|
|
|
|
build.drun()
|
|
|
|
|
2023-03-17 16:27:36 +00:00
|
|
|
|
2020-11-13 15:19:47 +00:00
|
|
|
@task
|
|
|
|
def test(project):
|
|
|
|
build = get_devops_build(project)
|
|
|
|
build.test()
|
2020-11-13 16:00:12 +00:00
|
|
|
|
2023-03-17 16:27:36 +00:00
|
|
|
|
2020-11-13 16:00:12 +00:00
|
|
|
@task
|
|
|
|
def publish(project):
|
|
|
|
build = get_devops_build(project)
|
|
|
|
build.dockerhub_login()
|
|
|
|
build.dockerhub_publish()
|