Skip to content
Snippets Groups Projects
Unverified Commit 8d04dc70 authored by Benjamin Bollen's avatar Benjamin Bollen
Browse files

Redraft Dockerfile and /tests/build_tool.sh

parent 8a4704f3
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>erisdb</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.googlecode.goclipse.goBuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.googlecode.goclipse.core.goNature</nature>
</natures>
</projectDescription>
# Pull base image.
FROM quay.io/eris/build
MAINTAINER Eris Industries <support@erisindustries.com>
#-----------------------------------------------------------------------------
# install eris-db
#
ENV GO15VENDOREXPERIMENT 1
# install glide for dependency management
RUN go get github.com/Masterminds/glide
# set the repo and install erisdb
ENV REPO $GOPATH/src/github.com/eris-ltd/eris-db
WORKDIR $REPO
COPY . $REPO
RUN glide install
RUN cd ./cmd/eris-db && go build -o /usr/local/bin/eris-db && cd ../..
#-----------------------------------------------------------------------------
# install mint-client tools
# set the repo and install mint-client
ENV REPO github.com/eris-ltd/mint-client
ENV BRANCH master
RUN mkdir -p $GOPATH/src/$REPO
WORKDIR $GOPATH/src/$REPO
RUN git clone --quiet https://$REPO . && \
git checkout --quiet $BRANCH && \
go install ./... && \
mv $GOPATH/bin/mint* /usr/local/bin && \
mv ./mint-client /usr/local/bin/
#-----------------------------------------------------------------------------
# cleanup
RUN rm -f $GOPATH/bin/glide
RUN rm -rf $GOPATH/src/* && \
unset REPO && \
unset COMMIT && \
unset BRANCH
#-----------------------------------------------------------------------------
# start script
# install the wrapper/start script
COPY DOCKER/start.sh /usr/local/bin/erisdb-wrapper
#-----------------------------------------------------------------------------
# chain manager scripts and default mint config
ENV ECM_PATH /usr/local/lib/ecm
RUN mkdir -p $ECM_PATH
COPY DOCKER/chain_* $ECM_PATH/
COPY DOCKER/config.toml $ECM_PATH/
COPY DOCKER/version.sh $ECM_PATH/
#-----------------------------------------------------------------------------
# permission the directories
RUN chown -R eris /usr/local/bin
RUN chown -R eris $ECM_PATH
#-----------------------------------------------------------------------------
# root dir
# persist data, set user
WORKDIR /home/$USER/.eris
VOLUME /home/$USER/.eris
USER $USER
RUN mkdir -p /home/$USER/.eris/chains/tendermint
ENV CHAINROOT /home/$USER/.eris/chains/tendermint
# run eris-db
# ports: 1337:eris-db API; 46656:tendermint-peer; 46657:tendermint-rpc
EXPOSE 1337
EXPOSE 46656
EXPOSE 46657
ENTRYPOINT ["eris-db", "serve"]
# CMD["--work-dir $CHAINROOT"]
# Pull base image.
FROM quay.io/eris/build
MAINTAINER Eris Industries <support@erisindustries.com>
# Expose ports for 1337:eris-db API; 46656:tendermint-peer; 46657:tendermint-rpc
EXPOSE 1337
EXPOSE 46656
EXPOSE 46657
#-----------------------------------------------------------------------------
# install eris-db
# set the source code path and copy the repository in
ENV ERIS_DB_SRC_PATH $GOPATH/src/github.com/eris-ltd/eris-db
COPY . $ERIS_DB_SRC_PATH
# fetch and install eris-db and its dependencies
# install glide for dependency management
RUN go get github.com/Masterminds/glide \
# build the main eris-db target
&& cd $ERIS_DB_SRC_PATH/cmd/eris-db \
&& go build \
&& cp eris-db $INSTALL_BASE/eris-db
#-----------------------------------------------------------------------------
# install mint-client [to be deprecated]
ENV ERIS_DB_MINT_REPO github.com/eris-ltd/mint-client
ENV ERIS_DB_MINT_SRC_PATH $GOPATH/src/$ERIS_DB_MINT_REPO
WORKDIR $ERIS_DB_MINT_SRC_PATH
RUN git clone --quiet https://$ERIS_DB_MINT_REPO . \
&& git checkout --quiet master \
&& go build -o $INSTALL_BASE/mintx ./mintx \
&& go build -o $INSTALL_BASE/mintconfig ./mintconfig
# restrict build targets for re-evaluation
# && go build -o $INSTALL_BASE/mintdump ./mintdump \
# && go build -o $INSTALL_BASE/mintperms ./mintperms \
# && go build -o $INSTALL_BASE/mintunsafe ./mintunsafe \
# && go build -o $INSTALL_BASE/mintkey ./mintkey \
# && go build -o $INSTALL_BASE/mintgen ./mintgen \
# && go build -o $INSTALL_BASE/mintsync ./mintsync \
#WORKDIR $ERIS
#!/usr/bin/env bash
# ----------------------------------------------------------
# PURPOSE
# This is the build script for eris-db. It will build the
# tool into docker containers in a reliable and predicatable
# manner.
# ----------------------------------------------------------
# REQUIREMENTS
# docker installed locally
# ----------------------------------------------------------
# USAGE
# build_tool.sh
# ----------------------------------------------------------
# Set defaults
set -e
start=`pwd`
if [ "$CIRCLE_BRANCH" ]
then
repo=`pwd`
else
base=github.com/eris-ltd/eris-db
repo=$GOPATH/src/$base
fi
branch=${CIRCLE_BRANCH:=master}
branch=${branch/-/_}
release_min=$(cat $repo/version/version.go | tail -n 1 | cut -d \ -f 4 | tr -d '"')
release_maj=$(echo $release_min | cut -d . -f 1-2)
image_base=quay.io/eris/erisdb
cd $repo
if [[ "$branch" = "master" ]]
then
docker build -t $image_base:latest $repo
docker tag -f $image_base:latest $image_base:$release_maj
docker tag -f $image_base:latest $image_base:$release_min
else
docker build -t $image_base:$release_min $repo
fi
test_exit=$?
cd $start
exit $test_exit
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment