mirror of
https://github.com/NexVeridian/ark-invest-api-rust-data.git
synced 2025-09-02 01:49:12 +00:00
37 lines
1.2 KiB
Docker
37 lines
1.2 KiB
Docker
FROM rust:bookworm AS builder
|
|
|
|
RUN apt-get update && \
|
|
apt install -y musl-tools musl-dev libssl-dev clang mold
|
|
|
|
# RUN curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin
|
|
RUN curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C /usr/local/bin
|
|
# RUN cargo install cargo-nextest --locked
|
|
|
|
WORKDIR /ark-invest-api-rust-data
|
|
|
|
COPY . .
|
|
|
|
RUN rustup target add x86_64-unknown-linux-musl && rustup update && cargo update
|
|
|
|
RUN --mount=type=cache,target=/usr/local/cargo,from=rust,source=/usr/local/cargo \
|
|
--mount=type=cache,target=./target \
|
|
cargo build --target x86_64-unknown-linux-musl --release && \
|
|
cp ./target/target/x86_64-unknown-linux-musl/release/ark-invest-api-rust-data .
|
|
|
|
FROM builder AS test
|
|
|
|
RUN --mount=type=cache,target=/usr/local/cargo,from=rust,source=/usr/local/cargo \
|
|
--mount=type=cache,target=./target \
|
|
cargo nextest run --release --target x86_64-unknown-linux-musl \
|
|
-E "all() - test(get_api) - kind(bin)"
|
|
|
|
FROM alpine:latest
|
|
|
|
WORKDIR /ark-invest-api-rust-data
|
|
|
|
COPY --from=builder ark-invest-api-rust-data/ark-invest-api-rust-data .
|
|
|
|
ENV PORT=3000
|
|
EXPOSE 3000
|
|
|
|
CMD ["./ark-invest-api-rust-data"]
|