From 28be89d56cff5030d177fe7b6c202667edbea893 Mon Sep 17 00:00:00 2001 From: Gavin McDonald Date: Tue, 13 May 2025 11:16:30 -0400 Subject: [PATCH] build and push Docker image --- lib/mix/tasks/labelmaker.release.ex | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 lib/mix/tasks/labelmaker.release.ex diff --git a/lib/mix/tasks/labelmaker.release.ex b/lib/mix/tasks/labelmaker.release.ex new file mode 100644 index 0000000..4c1e879 --- /dev/null +++ b/lib/mix/tasks/labelmaker.release.ex @@ -0,0 +1,29 @@ +defmodule Mix.Tasks.Labelmaker.Release do + use Mix.Task + + @shortdoc "Builds and releases the labelmaker Docker image" + + def run(_args) do + cmd = "docker" + + args = [ + "buildx", + "build", + "--platform", + "linux/amd64", + "-t", + "192.168.0.2:5000/labelmaker", + "--push", + "." + ] + + IO.puts("Running Docker build and push...") + + {_output, exit_code} = + System.cmd(cmd, args, into: IO.stream(:stdio, :line), stderr_to_stdout: true) + + if exit_code != 0 do + Mix.raise("Docker buildx failed with exit code #{exit_code}") + end + end +end