docker/bake-action v6.6.0
Use bake-action instead of build-and-push action.
This commit is contained in:
parent
c153a0af33
commit
6722e75e4f
@ -109,11 +109,15 @@ jobs:
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Docker build and push
|
||||
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0
|
||||
uses: docker/bake-action@76f9fa3a758507623da19f6092dc4089a7e61592 # v6.6.0
|
||||
with:
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
targets: "bookworm"
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
cwd://${{ steps.meta.outputs.bake-file }}
|
||||
|
||||
- name: Setup Helm
|
||||
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
|
||||
|
19
docker-bake.hcl
Normal file
19
docker-bake.hcl
Normal file
@ -0,0 +1,19 @@
|
||||
group "default" {
|
||||
targets = [ "bookworm", "alpine" ]
|
||||
}
|
||||
target "_common" {
|
||||
args = {
|
||||
RUBY_VERSION = "3.4.3"
|
||||
}
|
||||
}
|
||||
|
||||
target "bookworm" {
|
||||
dockerfile = "./dockerfiles/bookworm.Dockerfile"
|
||||
inherits = [ "_common" ]
|
||||
tags = [ "git.kill0.net/ryanc/kubernaut" ]
|
||||
}
|
||||
|
||||
target "alpine" {
|
||||
dockerfile = "./dockerfiles/alpine.Dockerfile"
|
||||
inherits = [ "_common" ]
|
||||
}
|
41
dockerfiles/alpine.Dockerfile
Normal file
41
dockerfiles/alpine.Dockerfile
Normal file
@ -0,0 +1,41 @@
|
||||
ARG RUBY_VERSION="3.4.3"
|
||||
FROM ruby:${RUBY_VERSION}-alpine AS base
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN <<EOT
|
||||
apk update
|
||||
gem update --system --no-document
|
||||
gem install -N bundler
|
||||
EOT
|
||||
|
||||
|
||||
FROM base AS build
|
||||
|
||||
RUN <<EOT
|
||||
apk add musl-dev gcc make
|
||||
EOT
|
||||
|
||||
COPY Gemfile* .
|
||||
|
||||
RUN <<EOT
|
||||
bundle config set --local without development
|
||||
bundle install
|
||||
EOT
|
||||
|
||||
|
||||
FROM base
|
||||
|
||||
ENV PORT=4567
|
||||
|
||||
RUN adduser --home /app --disabled-password app
|
||||
|
||||
USER app:app
|
||||
|
||||
COPY --from=build /usr/local/bundle /usr/local/bundle
|
||||
COPY --from=build --chown=app:app /app /app
|
||||
|
||||
COPY --chown=app:app . .
|
||||
|
||||
EXPOSE 4567
|
||||
CMD [ "puma", "--bind", "0.0.0.0", "--port", "$PORT" ]
|
42
dockerfiles/bookworm.Dockerfile
Normal file
42
dockerfiles/bookworm.Dockerfile
Normal file
@ -0,0 +1,42 @@
|
||||
ARG RUBY_VERSION="3.4.3"
|
||||
FROM ruby:${RUBY_VERSION}-slim-bookworm AS base
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN <<EOT
|
||||
apt-get update
|
||||
gem update --system --no-document
|
||||
gem install -N bundler
|
||||
EOT
|
||||
|
||||
|
||||
FROM base AS build
|
||||
|
||||
RUN <<EOT
|
||||
apt-get install --yes gcc make
|
||||
EOT
|
||||
|
||||
COPY Gemfile* .
|
||||
|
||||
RUN <<EOT
|
||||
bundle config set --local without development
|
||||
bundle install
|
||||
EOT
|
||||
|
||||
|
||||
FROM base
|
||||
|
||||
ENV PORT=4567
|
||||
|
||||
# RUN useradd ruby --home /app --shell /bin/sh
|
||||
RUN useradd --home /app --create-home app
|
||||
|
||||
USER app:app
|
||||
|
||||
COPY --from=build /usr/local/bundle /usr/local/bundle
|
||||
COPY --from=build --chown=app:app /app /app
|
||||
|
||||
COPY --chown=app:app . .
|
||||
|
||||
EXPOSE 4567
|
||||
CMD [ "puma", "--bind", "0.0.0.0", "--port", "$PORT" ]
|
Loading…
x
Reference in New Issue
Block a user