From 04cfaf75e113272f4653402f1be6ccb061325d34 Mon Sep 17 00:00:00 2001 From: _ <> Date: Mon, 2 Nov 2020 18:02:01 +0000 Subject: [PATCH] :whale: Work on Docker build --- .dockerignore | 1 + Dockerfile | 40 ++++++++++++++++++++++++++++++++++++++++ make-old-git-tar.bash | 1 + 3 files changed, 42 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 make-old-git-tar.bash diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +/target diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fcf476e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ +FROM rust:1.47-slim-buster as build + +WORKDIR /usr/src + +RUN apt-get update \ +&& apt-get install -y git pkg-config + +# Make sure the dependencies are all cached so we won't hammer crates.io + +ADD old-git.tar.gz . +RUN git checkout 16984ddcd3c9cdc04b2c4c3625eb83176c1b2dda \ +&& git reset --hard \ +&& cargo check + +RUN cargo test --release \ +&& cargo build --release --bin ptth_relay + +COPY .git .git + +ARG gitcommithash=HEAD + +RUN git checkout "$gitcommithash" \ +&& git reset --hard \ +&& echo "pub const GIT_VERSION: &str = \"$(git-rev-parse HEAD)\";" > src/git_version.rs \ +&& cargo test --release \ +&& cargo build --release --bin ptth_relay + +FROM debian:buster-slim as deploy + +RUN apt-get update \ +&& apt-get upgrade + +COPY --from=build /usr/src/target/release/ptth_relay /root +COPY ptth_relay.toml /root/ptth_relay.toml + +COPY --from=build /usr/src/git_version.rs /root/git_version.rs + +WORKDIR /root + +CMD ["./ptth_relay"] diff --git a/make-old-git-tar.bash b/make-old-git-tar.bash new file mode 100644 index 0000000..6d9cb84 --- /dev/null +++ b/make-old-git-tar.bash @@ -0,0 +1 @@ +tar -czf old-git.tar.gz .git