diff --git a/.dockerignore b/.dockerignore index 9638996..f6919cf 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,5 +2,6 @@ !autobuild.sh !configure.ac !Makefile.am -!src/** -!.git/** +!src/*.c +!src/*.h +!src/Makefile.am diff --git a/Dockerfile b/Dockerfile index aff3f39..87c95b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,17 @@ +##### FROM alpine AS build-env -RUN apk add --no-cache util-linux-dev gcc autoconf automake make openssl-dev json-c-dev musl-dev git +RUN apk add --no-cache util-linux-dev gcc autoconf automake make openssl-dev json-c-dev musl-dev ADD . /work WORKDIR /work -RUN ./autobuild.sh +ARG GIT_VERSION +RUN GIT_VERSION=${GIT_VERSION:-unknown} ./autobuild.sh +##### FROM alpine +ARG GIT_VERSION +LABEL version=${GIT_VERSION:-unknown} RUN apk add --no-cache libuuid json-c COPY --from=build-env /work/src/rmbt /bin/rmbt ENTRYPOINT ["/bin/rmbt"] diff --git a/autobuild.sh b/autobuild.sh index 0faa3f7..0891a86 100755 --- a/autobuild.sh +++ b/autobuild.sh @@ -1,5 +1,5 @@ #!/bin/sh set -e [ -e configure ] || autoreconf -i -[ -e Makefile ] || ( ./configure && make ) -[ -e src/rmbt ] || make +[ -e Makefile ] || ./configure +make ${GIT_VERSION:+GIT_VERSION="$GIT_VERSION"} diff --git a/docker-build.sh b/docker-build.sh new file mode 100755 index 0000000..9d1a1a0 --- /dev/null +++ b/docker-build.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +docker build --build-arg "GIT_VERSION=$(git describe --abbrev=9 --dirty --always --tags --long 2> /dev/null)" -t rmbt .