Goal:
Share
Modusfile:
app(base, "dev", target) :- dev_image(base), copy(".", "/app/"), make(target). dev_image("alpine") :- from("alpine"), run("apk add gcc make"). dev_image("bullseye") :- from("gcc:bullseye"). app(base, "prod", "release") :- prod_image(base), app(base, "dev", "release")::copy("/app", "/app"). prod_image("alpine") :- from("alpine"). prod_image("bullseye") :- from("debian:bullseye-slim"). make("debug") :- run("cd /app/ && make debug"). make("release") :- run("cd /app/ && make").