added multi stage builds for oci containers
Some checks failed
Build and Release Docker Images / build-and-push (./backend, public/Dockerfile, my-website-v2_public) (pull_request) Failing after 23m10s
Build and Release Docker Images / build-and-push (./backend, task/Dockerfile, my-website-v2_task) (pull_request) Failing after 24m49s
Build and Release Docker Images / build-and-push (./frontend, Dockerfile, my-website-v2_frontend) (pull_request) Failing after 20m2s
Build and Release Docker Images / create-release (pull_request) Has been skipped
Some checks failed
Build and Release Docker Images / build-and-push (./backend, public/Dockerfile, my-website-v2_public) (pull_request) Failing after 23m10s
Build and Release Docker Images / build-and-push (./backend, task/Dockerfile, my-website-v2_task) (pull_request) Failing after 24m49s
Build and Release Docker Images / build-and-push (./frontend, Dockerfile, my-website-v2_frontend) (pull_request) Failing after 20m2s
Build and Release Docker Images / create-release (pull_request) Has been skipped
it should help from builds from failing in addition to slimming down the artifact size
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
FROM rust:1.88.0
|
# Build stage
|
||||||
|
FROM rust:1.88.0 AS builder
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
@@ -7,6 +8,16 @@ COPY ./cache ./cache
|
|||||||
|
|
||||||
RUN cargo build --release --manifest-path ./public/Cargo.toml
|
RUN cargo build --release --manifest-path ./public/Cargo.toml
|
||||||
|
|
||||||
|
# Runtime stage with Alpine
|
||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
RUN apk add --no-cache ca-certificates libgcc
|
||||||
|
|
||||||
|
COPY --from=builder /app/public/target/release/public /app/public
|
||||||
|
COPY --from=builder /app/cache ./cache
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
CMD ["/app/public/target/release/public"]
|
CMD ["/app/public"]
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
FROM rust:1.88.0
|
# Build stage
|
||||||
|
FROM rust:1.88.0 AS builder
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
@@ -6,9 +7,23 @@ COPY ./task ./task
|
|||||||
COPY ./cache ./cache
|
COPY ./cache ./cache
|
||||||
COPY ./storage ./storage
|
COPY ./storage ./storage
|
||||||
|
|
||||||
RUN mkdir /app/posts
|
|
||||||
RUN cargo build --release --manifest-path ./task/Cargo.toml
|
RUN cargo build --release --manifest-path ./task/Cargo.toml
|
||||||
|
|
||||||
|
# Runtime stage
|
||||||
|
FROM debian:bookworm-slim
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
ca-certificates \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN mkdir /app/posts
|
||||||
|
|
||||||
|
COPY --from=builder /app/task/target/release/task /app/task
|
||||||
|
COPY --from=builder /app/cache ./cache
|
||||||
|
COPY --from=builder /app/storage ./storage
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
CMD ["/app/task/target/release/task"]
|
CMD ["/app/task"]
|
||||||
|
|||||||
Reference in New Issue
Block a user