Add build args
This commit is contained in:
@@ -10,14 +10,12 @@ class Mrsk::Commands::Builder < Mrsk::Commands::Base
|
||||
|
||||
def target
|
||||
case
|
||||
when config.builder.nil?
|
||||
multiarch
|
||||
when config.builder["multiarch"] == false
|
||||
when config.builder && config.builder["multiarch"] == false
|
||||
native
|
||||
when config.builder["local"] && config.builder["remote"]
|
||||
when config.builder && config.builder["local"] && config.builder["remote"]
|
||||
multiarch_remote
|
||||
else
|
||||
raise ArgumentError, "Builder configuration incorrect: #{config.builder.inspect}"
|
||||
multiarch
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
18
lib/mrsk/commands/builder/base.rb
Normal file
18
lib/mrsk/commands/builder/base.rb
Normal file
@@ -0,0 +1,18 @@
|
||||
require "mrsk/commands/base"
|
||||
|
||||
class Mrsk::Commands::Builder::Base < Mrsk::Commands::Base
|
||||
delegate :argumentize, to: Mrsk::Configuration
|
||||
|
||||
def pull
|
||||
docker :pull, config.absolute_image
|
||||
end
|
||||
|
||||
def build_args
|
||||
argumentize "--build-args", args
|
||||
end
|
||||
|
||||
private
|
||||
def args
|
||||
config.builder["args"] || {}
|
||||
end
|
||||
end
|
||||
@@ -1,6 +1,6 @@
|
||||
require "mrsk/commands/base"
|
||||
require "mrsk/commands/builder/base"
|
||||
|
||||
class Mrsk::Commands::Builder::Multiarch < Mrsk::Commands::Base
|
||||
class Mrsk::Commands::Builder::Multiarch < Mrsk::Commands::Builder::Base
|
||||
def create
|
||||
docker :buildx, :create, "--use", "--name", builder_name
|
||||
end
|
||||
@@ -10,11 +10,7 @@ class Mrsk::Commands::Builder::Multiarch < Mrsk::Commands::Base
|
||||
end
|
||||
|
||||
def push
|
||||
docker :buildx, :build, "--push", "--platform linux/amd64,linux/arm64", "-t", config.absolute_image, "."
|
||||
end
|
||||
|
||||
def pull
|
||||
docker :pull, config.absolute_image
|
||||
docker :buildx, :build, "--push", "--platform linux/amd64,linux/arm64", "-t", config.absolute_image, *build_args, "."
|
||||
end
|
||||
|
||||
def info
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
require "mrsk/commands/base"
|
||||
require "mrsk/commands/builder/base"
|
||||
|
||||
class Mrsk::Commands::Builder::Native < Mrsk::Commands::Base
|
||||
class Mrsk::Commands::Builder::Native < Mrsk::Commands::Builder::Base
|
||||
def create
|
||||
# No-op on native
|
||||
end
|
||||
@@ -11,14 +11,10 @@ class Mrsk::Commands::Builder::Native < Mrsk::Commands::Base
|
||||
|
||||
def push
|
||||
combine \
|
||||
docker(:build, "-t", config.absolute_image, "."),
|
||||
docker(:build, "-t", *build_args, config.absolute_image, "."),
|
||||
docker(:push, config.absolute_image)
|
||||
end
|
||||
|
||||
def pull
|
||||
docker :pull, config.absolute_image
|
||||
end
|
||||
|
||||
def info
|
||||
# No-op on native
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user