docker/bake-action v6.6.0
Use bake-action instead of build-and-push action.
This commit is contained in:
parent
c153a0af33
commit
2a443e47ed
@ -109,11 +109,15 @@ jobs:
|
|||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: Docker build and push
|
- name: Docker build and push
|
||||||
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0
|
uses: docker/bake-action@76f9fa3a758507623da19f6092dc4089a7e61592 # v6.6.0
|
||||||
with:
|
with:
|
||||||
push: ${{ github.event_name != 'pull_request' }}
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
targets: "bookworm"
|
||||||
|
files: |
|
||||||
|
./docker-bake.hcl
|
||||||
|
cwd://${{ steps.meta.outputs.bake-file }}
|
||||||
|
|
||||||
- name: Setup Helm
|
- name: Setup Helm
|
||||||
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
|
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
|
||||||
|
18
docker-bake.hcl
Normal file
18
docker-bake.hcl
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
group "default" {
|
||||||
|
targets = [ "bookworm", "alpine" ]
|
||||||
|
}
|
||||||
|
target "_common" {
|
||||||
|
args = {
|
||||||
|
RUBY_VERSION = "3.4.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
target "bookworm" {
|
||||||
|
dockerfile = "./dockerfiles/bookworm.Dockerfile"
|
||||||
|
inherits = [ "_common" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
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