add dockerfile

This commit is contained in:
2026-05-12 21:51:19 +09:00
parent bab9ac8733
commit b19d9d25f7
6 changed files with 189 additions and 1 deletions

View File

@@ -1,7 +1,29 @@
FROM rust:1.95.0-trixie AS builder
FROM messense/rust-musl-cross:x86_64-musl AS stub-amd64
WORKDIR /build
COPY Cargo.toml Cargo.lock* ./
COPY crates ./crates
RUN --mount=type=cache,target=/root/.cargo/registry \
--mount=type=cache,target=/build/target \
cargo build --release --target x86_64-unknown-linux-musl -p rsh && \
cp target/x86_64-unknown-linux-musl/release/rsh /rsh-x86_64
FROM messense/rust-musl-cross:aarch64-musl AS stub-arm64
WORKDIR /build
COPY Cargo.toml Cargo.lock* ./
COPY crates ./crates
RUN --mount=type=cache,target=/root/.cargo/registry \
--mount=type=cache,target=/build/target \
cargo build --release --target aarch64-unknown-linux-musl -p rsh && \
cp target/aarch64-unknown-linux-musl/release/rsh /rsh-aarch64
FROM rust:1.95.0-trixie AS builder
WORKDIR /build
COPY --from=stub-amd64 /rsh-x86_64 /stubs/rsh-x86_64
COPY --from=stub-arm64 /rsh-aarch64 /stubs/rsh-aarch64
COPY Cargo.toml Cargo.lock* ./
COPY crates ./crates
ENV RSH_STUB_X86_64=/stubs/rsh-x86_64 \
RSH_STUB_AARCH64=/stubs/rsh-aarch64
RUN --mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=/build/target \
cargo build --release -p rsh-backend && \