diff --git a/build.py b/build.py index 2381e91..8e441a6 100644 --- a/build.py +++ b/build.py @@ -102,6 +102,7 @@ def initialize(project): "infrastructure/ddadevops/build.py", "infrastructure/clj-cljs/build.py", "infrastructure/clj/build.py", + "infrastructure/kotlin/build.py", ], "release_artifacts": [], "release_artifact_server_url": "https://repo.prod.meissa.de", diff --git a/infrastructure/dind/build.py b/infrastructure/dind/build.py index 2ab4735..108c0e5 100644 --- a/infrastructure/dind/build.py +++ b/infrastructure/dind/build.py @@ -26,7 +26,7 @@ def initialize(project): "image_tag": f"{image_tag}", } - project.build_depends_on("ddadevops>=4.0.0") + project.build_depends_on("ddadevops>=4.7.0") build = DevopsImageBuild(project, input) build.initialize_build_dir() diff --git a/infrastructure/kotlin/build.py b/infrastructure/kotlin/build.py new file mode 100644 index 0000000..b40b957 --- /dev/null +++ b/infrastructure/kotlin/build.py @@ -0,0 +1,57 @@ +from os import environ +from datetime import datetime +from pybuilder.core import task, init +from ddadevops import * + +name = "ddadevops" +MODULE = "kotlin" +PROJECT_ROOT_PATH = "../.." +version = "4.7.5-dev" + + +@init +def initialize(project): + image_tag = version + if "dev" in image_tag: + image_tag += datetime.now().strftime("%Y-%m-%d-%H-%M-%S") + + input = { + "name": name, + "module": MODULE, + "stage": "notused", + "project_root_path": PROJECT_ROOT_PATH, + "build_types": ["IMAGE"], + "mixin_types": [], + "image_naming": "NAME_AND_MODULE", + "image_tag": f"{image_tag}", + } + + project.build_depends_on("ddadevops>=4.0.0") + + build = DevopsImageBuild(project, input) + build.initialize_build_dir() + + +@task +def image(project): + build = get_devops_build(project) + build.image() + + +@task +def drun(project): + build = get_devops_build(project) + build.drun() + + +@task +def test(project): + build = get_devops_build(project) + build.test() + + +@task +def publish(project): + build = get_devops_build(project) + build.dockerhub_login() + build.dockerhub_publish() diff --git a/infrastructure/kotlin/image/Dockerfile b/infrastructure/kotlin/image/Dockerfile new file mode 100644 index 0000000..23a32d6 --- /dev/null +++ b/infrastructure/kotlin/image/Dockerfile @@ -0,0 +1,4 @@ +FROM debian:stable-slim + +ADD resources /tmp +RUN /tmp/install.sh diff --git a/infrastructure/kotlin/image/resources/install.sh b/infrastructure/kotlin/image/resources/install.sh new file mode 100755 index 0000000..b807340 --- /dev/null +++ b/infrastructure/kotlin/image/resources/install.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -eux + +function main() { + upgradeSystem + + apt -qqy install curl git kotlin gradle iputils-ping ssh + + #install pyb + apt -qqy install python3 python3-pip; + pip3 install pybuilder 'ddadevops>=4.7.0' deprecation dda-python-terraform boto3 pyyaml inflection --break-system-packages; + + cleanupDocker +} + +source /tmp/install_functions.sh +main \ No newline at end of file diff --git a/infrastructure/kotlin/test/.keep b/infrastructure/kotlin/test/.keep new file mode 100644 index 0000000..e69de29