1
1
# Build Stage
2
- FROM rust:1.76.0 AS debug_builder
3
- WORKDIR /usr/src/
4
-
5
- RUN apt-get update
6
- RUN apt-get install musl musl-tools python3-pip -y
7
- RUN pip3 install cargo-zigbuild --break-system-packages
8
- RUN rustup target add x86_64-unknown-linux-musl
9
-
2
+ FROM ubuntu:22.04 AS debug_builder
10
3
4
+ RUN apt-get update && apt-get install curl build-essential libpq-dev -y
5
+ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y
6
+ ENV PATH="/root/.cargo/bin:${PATH}"
7
+ WORKDIR /usr/src/
11
8
COPY ./ ./
12
- RUN cargo zigbuild --target x86_64-unknown-linux-musl
9
+ RUN cargo build
13
10
14
11
# copy out the binaries
15
12
FROM scratch as debug_build
16
- COPY --from=debug_builder /usr/src/target/x86_64-unknown-linux-musl/ debug/flight_server /
17
- COPY --from=debug_builder /usr/src/target/x86_64-unknown-linux-musl/ debug/rest_server /
18
- COPY --from=debug_builder /usr/src/target/x86_64-unknown-linux-musl/ debug/query_runner /
19
- COPY --from=debug_builder /usr/src/target/x86_64-unknown-linux-musl/ debug/single_binary_deployment /
20
- COPY --from=debug_builder /usr/src/target/x86_64-unknown-linux-musl/ debug/relayctl /
21
- COPY --from=debug_builder /usr/src/target/x86_64-unknown-linux-musl/ debug/data_web_engine /
13
+ COPY --from=debug_builder /usr/src/target/debug/flight_server /
14
+ COPY --from=debug_builder /usr/src/target/debug/rest_server /
15
+ COPY --from=debug_builder /usr/src/target/debug/query_runner /
16
+ COPY --from=debug_builder /usr/src/target/debug/single_binary_deployment /
17
+ COPY --from=debug_builder /usr/src/target/debug/relayctl /
18
+ COPY --from=debug_builder /usr/src/target/debug/data_web_engine /
22
19
23
20
# copy binaries from a local build
24
21
FROM scratch as debug_local_build
25
- COPY ./target/x86_64-unknown-linux-musl/ debug/flight_server /
26
- COPY ./target/x86_64-unknown-linux-musl/ debug/rest_server /
27
- COPY ./target/x86_64-unknown-linux-musl/ debug/query_runner /
28
- COPY ./target/x86_64-unknown-linux-musl/ debug/single_binary_deployment /
29
- COPY ./target/x86_64-unknown-linux-musl/ debug/relayctl /
30
- COPY ./target/x86_64-unknown-linux-musl/ debug/data_web_engine /
22
+ COPY ./target/debug/flight_server /
23
+ COPY ./target/debug/rest_server /
24
+ COPY ./target/debug/query_runner /
25
+ COPY ./target/debug/single_binary_deployment /
26
+ COPY ./target/debug/relayctl /
27
+ COPY ./target/debug/data_web_engine /
31
28
32
29
# Build Stage
33
- FROM rust:1.76.0 AS release_builder
30
+ FROM rust:1.76.0-bullseye AS release_builder
34
31
WORKDIR /usr/src/
35
32
36
- RUN apt-get update
37
- RUN apt-get install musl musl-tools python3-pip -y
38
- RUN pip3 install cargo-zigbuild --break-system-packages
39
- RUN rustup target add x86_64-unknown-linux-musl
40
-
41
33
COPY ./ ./
42
- RUN cargo zigbuild --target x86_64-unknown-linux-musl --release
34
+ RUN cargo build --release
43
35
44
36
# copy out the binaries
45
- FROM scratch as release_build
46
- COPY --from=release_builder /usr/src/target/x86_64-unknown-linux-musl/release/flight_server /
47
- COPY --from=release_builder /usr/src/target/x86_64-unknown-linux-musl/release/rest_server /
48
- COPY --from=release_builder /usr/src/target/x86_64-unknown-linux-musl/release/query_runner /
49
- COPY --from=release_builder /usr/src/target/x86_64-unknown-linux-musl/release/single_binary_deployment /
50
- COPY --from=release_builder /usr/src/target/x86_64-unknown-linux-musl/release/relayctl /
51
- COPY --from=release_builder /usr/src/target/x86_64-unknown-linux-musl/release/data_web_engine /
52
-
53
- FROM rust:1.76.0 AS diesel_build
54
- RUN apt-get update
55
- RUN apt-get install libpq-dev -y
56
- RUN cargo install diesel_cli --no-default-features --features postgres
57
- ENTRYPOINT [ "diesel" ]
37
+ FROM debian:11 as release_build
38
+ COPY --from=release_builder /usr/src/target/release/flight_server /
39
+ COPY --from=release_builder /usr/src/target/release/rest_server /
40
+ COPY --from=release_builder /usr/src/target/release/query_runner /
41
+ COPY --from=release_builder /usr/src/target/release/single_binary_deployment /
42
+ COPY --from=release_builder /usr/src/target/release/relayctl /
43
+ COPY --from=release_builder /usr/src/target/release/data_web_engine /
0 commit comments