streamlining container image builds with hacky dummy file
parent
16a70c0afa
commit
8bc2e324d2
@ -1,22 +1,32 @@
|
||||
FROM ubuntu:19.10 as builder
|
||||
|
||||
# Install required packages
|
||||
RUN apt-get update && apt-get install -y build-essential
|
||||
|
||||
RUN apt-get install -y curl git
|
||||
|
||||
# Setup app user and workspace
|
||||
RUN useradd -m -d /home/wownero-explorer wownero-explorer
|
||||
|
||||
RUN mkdir -p /srv && chown -R wownero-explorer:wownero-explorer /srv
|
||||
|
||||
RUN mkdir -p /srv/wownero-explorer && chown -R wownero-explorer:wownero-explorer /srv
|
||||
USER wownero-explorer
|
||||
WORKDIR /srv
|
||||
WORKDIR /srv/wownero-explorer
|
||||
|
||||
# Install Rust
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | RUSTUP_HOME=/home/wownero-explorer/.rustup sh -s -- -y
|
||||
RUN git clone https://git.wownero.com/lza_menace/wownero-explorer && \
|
||||
cd wownero-explorer && \
|
||||
~/.cargo/bin/rustup override set nightly && \
|
||||
~/.cargo/bin/cargo build --release
|
||||
|
||||
FROM ubuntu:19.10
|
||||
# Setup dummy build and perform release
|
||||
COPY dummy.rs .
|
||||
COPY Cargo.toml .
|
||||
COPY Cargo.lock .
|
||||
RUN sed -i 's_src/main.rs_dummy.rs_' Cargo.toml
|
||||
RUN ~/.cargo/bin/rustup override set nightly
|
||||
RUN ~/.cargo/bin/cargo build --release
|
||||
|
||||
# Put real source onto image and perform release
|
||||
RUN sed -i 's_dummy.rs_src/main.rs_' Cargo.toml
|
||||
COPY src src
|
||||
RUN ~/.cargo/bin/cargo build --release
|
||||
|
||||
FROM ubuntu:19.10
|
||||
COPY --from=builder /srv/wownero-explorer/target/release/wownero-explorer /bin/wownero-explorer
|
||||
COPY static static
|
||||
COPY templates templates
|
||||
|
Loading…
Reference in New Issue