update Dockerfile for hub

refactoring + small fix
This commit is contained in:
Denis S. Soldatov aka General-Beck 2017-02-17 19:03:40 +04:00 committed by GitHub
parent b35e852cb6
commit a3bbdce613
1 changed files with 39 additions and 30 deletions

View File

@ -1,4 +1,5 @@
FROM ubuntu:14.04 FROM ubuntu:14.04
MAINTAINER Parity Technologies <devops@parity.io>
WORKDIR /build WORKDIR /build
# install tools and dependencies # install tools and dependencies
RUN apt-get update && \ RUN apt-get update && \
@ -25,46 +26,54 @@ RUN apt-get update && \
# evmjit dependencies # evmjit dependencies
zlib1g-dev \ zlib1g-dev \
libedit-dev \ libedit-dev \
libudev-dev libudev-dev &&\
# cmake and llvm ppa's. then update ppa's
# cmake and llvm ppas. then update ppas add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \
RUN add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \
add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main" && \ add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main" && \
apt-get update && \ apt-get update && \
apt-get install -y --force-yes cmake llvm-3.7-dev apt-get install -y --force-yes cmake llvm-3.7-dev && \
# install evmjit # install evmjit
RUN git clone https://github.com/debris/evmjit && \ git clone https://github.com/debris/evmjit && \
cd evmjit && \ cd evmjit && \
mkdir build && cd build && \ mkdir build && cd build && \
cmake .. && make && make install && cd cmake .. && make && make install && cd && \
# install rustup # install rustup
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y curl https://sh.rustup.rs -sSf | sh -s -- -y && \
# rustup directory # rustup directory
ENV PATH /root/.cargo/bin:$PATH PATH=/root/.cargo/bin:$PATH && \
# show backtraces # show backtraces
ENV RUST_BACKTRACE 1 RUST_BACKTRACE=1 && \
# show tools
RUN rustc -vV && \
cargo -V && \
gcc -v &&\
g++ -v
# build parity # build parity
RUN git clone https://github.com/ethcore/parity && \ cd /build&&git clone https://github.com/ethcore/parity && \
cd parity && \ cd parity && \
git checkout $CI_BUILD_REF_NAME && \ git pull&& \
cargo build --release --features final && \ git checkout $CI_BUILD_REF_NAME && \
ls /build/parity/target/release/parity && \ cargo build --verbose --release --features final && \
strip /build/parity/target/release/parity #ls /build/parity/target/release/parity && \
strip /build/parity/target/release/parity && \
RUN file /build/parity/target/release/parity&&mkdir -p /parity&&cp /build/parity/target/release/parity /parity file /build/parity/target/release/parity&&mkdir -p /parity&& cp /build/parity/target/release/parity /parity&&\
#cleanup Docker image #cleanup Docker image
RUN rm -rf /root/.cargo&&rm -rf /root/.multirust&&rm -rf /root/.rustup&&rm -rf /build rm -rf /root/.cargo&&rm -rf /root/.multirust&&rm -rf /root/.rustup&&rm -rf /build&&\
apt-get purge -y \
# make
build-essential \
# add-apt-repository
software-properties-common \
make \
curl \
wget \
git \
g++ \
gcc \
binutils \
file \
pkg-config \
dpkg-dev \
# evmjit dependencies
zlib1g-dev \
libedit-dev \
cmake llvm-3.7-dev&&\
rm -rf /var/lib/apt/lists/*
# setup ENTRYPOINT
EXPOSE 8080 8545 8180 EXPOSE 8080 8545 8180
ENTRYPOINT ["/parity/parity"] ENTRYPOINT ["/parity/parity"]