From d69111f577862e5233f728cb3cef940b89696102 Mon Sep 17 00:00:00 2001 From: Koenkk Date: Sat, 16 Jun 2018 00:10:08 +0200 Subject: [PATCH] Add .hash.json for Docker. --- .dockerignore | 1 + .gitignore | 2 +- .travis/docker.sh | 2 +- docker/Dockerfile.amd64 | 6 +++++- docker/Dockerfile.arm32v6 | 6 +++++- docker/Dockerfile.arm64v8 | 6 +++++- lib/controller.js | 12 ++++++++++-- 7 files changed, 28 insertions(+), 7 deletions(-) diff --git a/.dockerignore b/.dockerignore index ff2be3fa..122d23db 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,6 @@ node_modules .travis* +.git .gitignore *.png firmware diff --git a/.gitignore b/.gitignore index 24eb4d12..6aea616b 100644 --- a/.gitignore +++ b/.gitignore @@ -60,4 +60,4 @@ typings/ # data data/database.db data/config.json -data/log*.txt +data/log*.txt \ No newline at end of file diff --git a/.travis/docker.sh b/.travis/docker.sh index c2bc0c46..49bec586 100755 --- a/.travis/docker.sh +++ b/.travis/docker.sh @@ -5,7 +5,7 @@ login() { } build_and_push() { - docker build -t $DOCKER_USERNAME/zigbee2mqtt:$1 -f $2 . + docker build --build-arg COMMIT=$(git rev-parse --short HEAD) -t $DOCKER_USERNAME/zigbee2mqtt:$1 -f $2 . docker push $DOCKER_USERNAME/zigbee2mqtt:$1 } diff --git a/docker/Dockerfile.amd64 b/docker/Dockerfile.amd64 index 8ee70a5e..585b4517 100644 --- a/docker/Dockerfile.amd64 +++ b/docker/Dockerfile.amd64 @@ -7,10 +7,14 @@ RUN cp /app/docker/run.sh /app RUN chmod +x /app/run.sh WORKDIR /app +# Write .hash.json +ARG COMMIT +RUN echo "{\"hash\": \"$COMMIT\"}" > .hash.json + # Install dependencies RUN apk add --update --no-cache make gcc g++ python linux-headers udev nodejs git && \ npm install --unsafe-perm && \ - apk del make gcc g++ python linux-headers udev + apk del make gcc g++ python linux-headers udev git # Entrypoint ENTRYPOINT ["./run.sh"] diff --git a/docker/Dockerfile.arm32v6 b/docker/Dockerfile.arm32v6 index ee8a7fdc..c8260dfd 100644 --- a/docker/Dockerfile.arm32v6 +++ b/docker/Dockerfile.arm32v6 @@ -5,6 +5,10 @@ ENV QEMU_EXECVE 1 COPY docker/qemu-arm-static /usr/bin WORKDIR /app +# Write .hash.json +ARG COMMIT +RUN echo "{\"hash\": \"$COMMIT\"}" > .hash.json + # Copy files & install dependencies ADD . /app RUN [ "qemu-arm-static", "/bin/sh", "-c", \ @@ -12,7 +16,7 @@ RUN [ "qemu-arm-static", "/bin/sh", "-c", \ cp /app/docker/run.sh /app && chmod +x /app/run.sh && \ apk add --update --no-cache make gcc g++ python linux-headers udev nodejs git && \ npm install --unsafe-perm && \ - apk del make gcc g++ python linux-headers udev"] + apk del make gcc g++ python linux-headers udev git"] # Entrypoint ENTRYPOINT ["./run.sh"] \ No newline at end of file diff --git a/docker/Dockerfile.arm64v8 b/docker/Dockerfile.arm64v8 index d9e207ad..bd519d54 100644 --- a/docker/Dockerfile.arm64v8 +++ b/docker/Dockerfile.arm64v8 @@ -5,6 +5,10 @@ ENV QEMU_EXECVE 1 COPY docker/qemu-aarch64-static /usr/bin WORKDIR /app +# Write .hash.json +ARG COMMIT +RUN echo "{\"hash\": \"$COMMIT\"}" > .hash.json + # Copy files & install dependencies ADD . /app RUN [ "qemu-aarch64-static", "/bin/sh", "-c", \ @@ -12,7 +16,7 @@ RUN [ "qemu-aarch64-static", "/bin/sh", "-c", \ cp /app/docker/run.sh /app && chmod +x /app/run.sh && \ apk add --update --no-cache make gcc g++ python linux-headers udev nodejs git && \ npm install --unsafe-perm && \ - apk del make gcc g++ python linux-headers udev"] + apk del make gcc g++ python linux-headers udev git"] # Entrypoint ENTRYPOINT ["./run.sh"] \ No newline at end of file diff --git a/lib/controller.js b/lib/controller.js index fbc93f1d..4ca3666a 100644 --- a/lib/controller.js +++ b/lib/controller.js @@ -529,12 +529,20 @@ class Controller { const version = packageJSON.version; git.getLastCommit((err, commit) => { + let commitHash = null; + if (err) { - logger.info(`Starting zigbee2mqtt version ${version}`); + try { + commitHash = require('../.hash.json').hash; + } catch (error) { + commitHash = 'unknown'; + } } else { - logger.info(`Starting zigbee2mqtt version ${version} (commit ${commit.shortHash})`); + commitHash = commit.shortHash; } + logger.info(`Starting zigbee2mqtt version ${version} (commit #${commitHash})`); + callback(); }); }