diff --git a/infrastructure/lein/build.py b/infrastructure/lein/build.py new file mode 100644 index 0000000..6d4509b --- /dev/null +++ b/infrastructure/lein/build.py @@ -0,0 +1,46 @@ +from subprocess import run +from os import environ +from pybuilder.core import task, init +from ddadevops import * +import logging + +name = 'shadow-cljs' +MODULE = 'shadow-cljs' +PROJECT_ROOT_PATH = '../..' + + +class MyBuild(DevopsDockerBuild): + pass + +@init +def initialize(project): + project.build_depends_on('ddadevops>=0.8.19') + stage = 'notused' + dockerhub_user = gopass_field_from_path('meissa/web/docker.com', 'login') + dockerhub_password = gopass_password_from_path('meissa/web/docker.com') + config = create_devops_docker_build_config( + stage, PROJECT_ROOT_PATH, MODULE, dockerhub_user, dockerhub_password) + build = MyBuild(project, config) + 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/lein/image/Dockerfile b/infrastructure/lein/image/Dockerfile new file mode 100644 index 0000000..8aa0d0d --- /dev/null +++ b/infrastructure/lein/image/Dockerfile @@ -0,0 +1,4 @@ +FROM node:lts-buster-slim + +ADD resources /tmp +RUN /tmp/install.sh \ No newline at end of file diff --git a/infrastructure/lein/image/resources/install.sh b/infrastructure/lein/image/resources/install.sh new file mode 100755 index 0000000..515c3db --- /dev/null +++ b/infrastructure/lein/image/resources/install.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -eux + +function main() { + mkdir -p /usr/share/man/man1 + apt update && apt -qqy install openjdk-11-jre-headless + npm install -g --save-dev shadow-cljs + + cleanupDocker +} + +source /tmp/install_functions.sh +main \ No newline at end of file