mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-11 10:05:41 +00:00
feat: docker build caching with cargo-chef
This commit is contained in:
35
Dockerfile
35
Dockerfile
@@ -17,23 +17,32 @@ COPY Makefile /src/
|
|||||||
COPY scripts /src/scripts
|
COPY scripts /src/scripts
|
||||||
RUN make frontend
|
RUN make frontend
|
||||||
|
|
||||||
|
FROM rust:latest as planner
|
||||||
|
RUN cargo install cargo-chef
|
||||||
|
WORKDIR /src
|
||||||
|
COPY . /src/
|
||||||
|
RUN cargo chef prepare --recipe-path recipe.json
|
||||||
|
|
||||||
|
FROM rust:latest as cacher
|
||||||
|
WORKDIR /src/
|
||||||
|
RUN cargo install cargo-chef
|
||||||
|
COPY --from=planner /src/recipe.json recipe.json
|
||||||
|
RUN cargo chef cook --release --recipe-path recipe.json
|
||||||
|
|
||||||
FROM rust:latest as rust
|
FROM rust:latest as rust
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
RUN mkdir src && echo "fn main() {}" > src/main.rs
|
COPY . .
|
||||||
COPY Cargo.toml .
|
COPY --from=cacher /src/target target
|
||||||
RUN sed -i '/.*build.rs.*/d' Cargo.toml
|
#COPY --from=cacher /src/db/db-core/target /src/db/db-core/target
|
||||||
COPY Cargo.lock .
|
#COPY --from=cacher /src/db/db-sqlx-postgres/target /src/db/db-sqlx-postgres/target
|
||||||
COPY migrations /src/migrations
|
#COPY --from=cacher /src/db/db-migrations/target /src/db/db-migrations/target
|
||||||
COPY sqlx-data.json /src/
|
#COPY --from=cacher /src/utils/cache-bust/target /src/utils/cache-bust/target
|
||||||
COPY src/tests-migrate.rs /src/src/tests-migrate.rs
|
|
||||||
COPY src/settings.rs /src/src/settings.rs
|
|
||||||
RUN cargo --version
|
|
||||||
RUN cargo build --release
|
|
||||||
COPY . /src
|
|
||||||
COPY --from=frontend /src/static/cache/bundle/ /src/static/cache/bundle/
|
COPY --from=frontend /src/static/cache/bundle/ /src/static/cache/bundle/
|
||||||
RUN cargo build --release
|
RUN cargo --version
|
||||||
|
RUN make cache-bust
|
||||||
|
RUN cargo build --release
|
||||||
|
|
||||||
FROM debian:bullseye
|
FROM debian:bullseye as mCaptcha
|
||||||
LABEL org.opencontainers.image.source https://github.com/mCaptcha/mCaptcha
|
LABEL org.opencontainers.image.source https://github.com/mCaptcha/mCaptcha
|
||||||
RUN useradd -ms /bin/bash -u 1001 mcaptcha
|
RUN useradd -ms /bin/bash -u 1001 mcaptcha
|
||||||
WORKDIR /home/mcaptcha
|
WORKDIR /home/mcaptcha
|
||||||
|
|||||||
Reference in New Issue
Block a user