From 31ac285df0405497fbac30449daa059a72d20111 Mon Sep 17 00:00:00 2001 From: Michael Jerger Date: Tue, 8 Aug 2023 09:04:28 +0200 Subject: [PATCH] add kotlin image --- build.py | 1 + infrastructure/kotlin/build.py | 56 +++++++++++++++++++ infrastructure/kotlin/image/Dockerfile | 4 ++ .../kotlin/image/resources/install.sh | 17 ++++++ infrastructure/kotlin/test/.keep | 0 5 files changed, 78 insertions(+) create mode 100644 infrastructure/kotlin/build.py create mode 100644 infrastructure/kotlin/image/Dockerfile create mode 100755 infrastructure/kotlin/image/resources/install.sh create mode 100644 infrastructure/kotlin/test/.keep diff --git a/build.py b/build.py index a1fddfb..7dfd7e2 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", ], } diff --git a/infrastructure/kotlin/build.py b/infrastructure/kotlin/build.py new file mode 100644 index 0000000..e487a33 --- /dev/null +++ b/infrastructure/kotlin/build.py @@ -0,0 +1,56 @@ +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.3.2-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..89ccc2e --- /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 + + #install pyb + apt -qqy install python3 python3-pip; + pip3 install pybuilder 'ddadevops>=4.2.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