27 lines
788 B
Ruby
27 lines
788 B
Ruby
class Kamal::Commands::Builder::Native::Pack < Kamal::Commands::Builder::Native
|
|
def push
|
|
combine \
|
|
pack(:build,
|
|
config.absolute_image,
|
|
"--platform", platform,
|
|
"--builder", pack_builder,
|
|
buildpacks,
|
|
"-t", config.absolute_image,
|
|
"-t", config.latest_image,
|
|
"--env", "BP_IMAGE_LABELS=service=#{config.service}",
|
|
secrets.map { |secret| [ "--env", Kamal::Utils.sensitive(ENV[secret]) ] },
|
|
"--path", build_context),
|
|
docker(:push, config.absolute_image),
|
|
docker(:push, config.latest_image)
|
|
end
|
|
|
|
private
|
|
def platform
|
|
"linux/#{pack_arch}"
|
|
end
|
|
|
|
def buildpacks
|
|
(pack_buildpacks << "paketo-buildpacks/image-labels").map { |buildpack| [ "--buildpack", buildpack ] }
|
|
end
|
|
end
|