cache rust build dependencies in dockerfile
This commit is contained in:
		| @@ -3,16 +3,14 @@ name = "api" | ||||
| version = "0.1.0" | ||||
| edition = "2021" | ||||
|  | ||||
| # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||||
|  | ||||
| [dependencies] | ||||
| anyhow = "1.0.69" | ||||
| anyhow = { workspace = true }  | ||||
| axum = "0.6.4" | ||||
| fred = { version = "5.2.0", default-features = false, features = ["tracing", "pool-prefer-active"] } | ||||
| fred = { workspace = true } | ||||
| http = "0.2.8" | ||||
| hyper-reverse-proxy = "0.5.1" | ||||
| lazy_static = "1.4.0" | ||||
| libpk = { path = "../../lib/libpk" } | ||||
| tokio = { version = "1.25.0", features = ["full"] } | ||||
| tokio = { workspace = true } | ||||
| tower = "0.4.13" | ||||
| tracing = "0.1.37" | ||||
| tracing = { workspace = true } | ||||
|   | ||||
| @@ -1,27 +0,0 @@ | ||||
| FROM alpine:latest AS builder | ||||
|  | ||||
| WORKDIR /build | ||||
|  | ||||
| RUN apk add rustup build-base | ||||
| # todo: arm64 target | ||||
| RUN rustup-init --default-host x86_64-unknown-linux-musl --default-toolchain stable --profile default -y | ||||
|  | ||||
| COPY Cargo.toml /build/ | ||||
| COPY Cargo.lock /build/ | ||||
|  | ||||
| # todo: fetch dependencies first to cache | ||||
| # RUN cargo fetch | ||||
|  | ||||
| COPY lib/libpk /build/lib/libpk | ||||
| COPY services/api/ /build/services/api | ||||
|  | ||||
| RUN source "$HOME/.cargo/env" && RUSTFLAGS='-C link-arg=-s' cargo build --bin api --release --target x86_64-unknown-linux-musl | ||||
|  | ||||
| RUN ls /build/target | ||||
| RUN ls /build/target/release | ||||
|  | ||||
| FROM alpine:latest | ||||
|  | ||||
| COPY --from=builder /build/target/x86_64-unknown-linux-musl/release/api /bin/api | ||||
|  | ||||
| ENTRYPOINT [ "/bin/api" ] | ||||
		Reference in New Issue
	
	Block a user