|
3 | 3 | ############################################################################### |
4 | 4 | FROM rust:latest as build |
5 | 5 |
|
6 | | -# SYSTEM DEPENDENCIES |
| 6 | +# SETUP |
| 7 | +WORKDIR /code/ |
7 | 8 | RUN apt-get -y update && \ |
8 | 9 | apt-get -y upgrade && \ |
9 | 10 | apt-get -y install build-essential software-properties-common curl git vim tree |
10 | 11 |
|
11 | | -# PROJECT DEPENDENCIES - CORE |
12 | | -RUN apt-get install -y llvm-dev libclang-dev clang |
13 | | - |
14 | | -# PROJECT DEPENDENCIES |
15 | | -WORKDIR /code/ |
16 | | -RUN apt-get install -y openssl pkg-config libssl-dev && apt-get clean |
17 | 12 |
|
| 13 | +# SYSTEM DEPENDENCIES |
| 14 | +RUN apt-get install -y llvm-dev libclang-dev clang openssl pkg-config libssl-dev |
18 | 15 |
|
| 16 | +# BUILD PROJECT DEPENDENCIES FIRST |
19 | 17 | RUN mkdir -p imager-cli/src imager-server/src |
20 | 18 | RUN echo 'fn main() {panic!("stub")}' > imager-cli/src/main.rs |
21 | 19 | RUN echo 'fn main() {panic!("stub")}' > imager-server/src/main.rs |
22 | 20 | ADD Cargo.toml . |
23 | 21 | ADD imager-cli/Cargo.toml imager-cli/Cargo.toml |
24 | 22 | ADD imager-server/Cargo.toml imager-server/Cargo.toml |
25 | 23 | RUN cargo build --release |
26 | | -RUN cargo test |
27 | | - |
28 | | -# # PROJECT ASSETS |
29 | | -# ADD ./assets/test ./assets/test |
30 | 24 |
|
31 | | -# # PROJECT APPLICATION |
32 | | -# RUN rm ./target/release/deps/imager* |
33 | | -# ADD ./src/ ./src/ |
34 | | -# RUN cargo test |
35 | | -# RUN cargo build --release |
| 25 | +# BUILD PROJECT CODE |
| 26 | +RUN rm target/release/deps/imager-* && \ |
| 27 | + rm target/release/deps/imager_server-* |
| 28 | +ADD imager-cli/src imager-cli/src |
| 29 | +ADD imager-server/src imager-server/src |
| 30 | +RUN cargo build --release |
36 | 31 |
|
37 | | -# # INSTALL |
38 | | -# RUN cargo install --force --path . |
| 32 | +# INSTALL |
| 33 | +RUN cargo install --force --path imager-cli && \ |
| 34 | + cargo install --force --path imager-server |
39 | 35 |
|
40 | 36 |
|
41 | | -# ############################################################################### |
42 | | -# # RUNTIME ENVIRONMENT |
43 | | -# ############################################################################### |
44 | | -# FROM ubuntu:18.04 as runtime |
| 37 | +############################################################################### |
| 38 | +# RUNTIME ENVIRONMENT |
| 39 | +############################################################################### |
| 40 | +FROM ubuntu:18.04 as runtime |
45 | 41 |
|
46 | | -# # SETUP |
47 | | -# RUN apt-get -y update && \ |
48 | | -# apt-get -y upgrade && \ |
49 | | -# apt-get -y install build-essential software-properties-common curl git vim tree |
50 | | -# COPY --from=build /usr/local/cargo/bin/imager /bin/imager |
| 42 | +# SETUP |
| 43 | +RUN apt-get -y update && \ |
| 44 | + apt-get -y upgrade && \ |
| 45 | + apt-get -y install build-essential software-properties-common curl git vim tree |
| 46 | +COPY --from=build /usr/local/cargo/bin/imager /bin/imager |
| 47 | +COPY --from=build /usr/local/cargo/bin/imager-server /bin/imager-server |
51 | 48 |
|
52 | 49 | # SECURITY & SANITY CHECK |
53 | | -# RUN sha1sum dist/native/libimager_nodejs.linux.node > dist/native/libimager_nodejs.linux.node.sha1 |
| 50 | +RUN sha1sum /bin/imager > /bin/imager.sha1 |
| 51 | +RUN sha1sum /bin/imager-server > /bin/imager-server.sha1 |
0 commit comments