Browse Source

compile mender during docker image creation

It is a bit exessive to compile the mender client every time
the mender-convert tool is launched using docker-mender-convert.

Move the build to the Dockerfile so it is done during image
creation.

Changelog: Title

Signed-off-by: Mirza Krak <mirza.krak@northern.tech>
1.1.x
Mirza Krak 6 years ago
committed by Eystein Måløy Stenberg
parent
commit
ee1a6215b5
  1. 22
      Dockerfile
  2. 22
      docker-entrypoint.sh

22
Dockerfile

@ -52,5 +52,27 @@ RUN wget https://dl.google.com/go/go$GOLANG_VERSION.linux-amd64.tar.gz \
&& tar -C /usr/local -xzf go$GOLANG_VERSION.linux-amd64.tar.gz \
&& echo export PATH=$PATH:/usr/local/go/bin >> /root/.bashrc
ENV MENDER_CLIENT_VERSION="1.6.0"
RUN echo "Cross-compiling Mender client $MENDER_CLIENT_VERSION"
# NOTE: we are assuming generic ARM board here, needs to be extended later
ENV PATH "$PATH:/usr/local/go/bin:/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin"
ENV GOPATH "/root/go"
RUN go get github.com/mendersoftware/mender
WORKDIR $GOPATH/src/github.com/mendersoftware/mender
RUN git checkout $MENDER_CLIENT_VERSION
RUN env CGO_ENABLED=1 \
CC=arm-linux-gnueabihf-gcc \
GOOS=linux \
GOARCH=arm make build
RUN cp $GOPATH/src/github.com/mendersoftware/mender/mender /
WORKDIR /
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]

22
docker-entrypoint.sh

@ -2,28 +2,6 @@
set -e
MENDER_CLIENT_VERSION="1.6.0" # TODO: Default, support input as env variable
echo "Cross-compiling Mender client $MENDER_CLIENT_VERSION"
# NOTE: we are assuming generic ARM board here, needs to be extended later
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin
go get github.com/mendersoftware/mender
cd $GOPATH/src/github.com/mendersoftware/mender
git checkout $MENDER_CLIENT_VERSION
env CGO_ENABLED=1 \
CC=arm-linux-gnueabihf-gcc \
GOOS=linux \
GOARCH=arm make build
cp $GOPATH/src/github.com/mendersoftware/mender/mender /
# run conversion, args provided to container (end of docker run ...)
cd /mender-convert

Loading…
Cancel
Save