diff options
| author | Shyam Sunder | 2019-09-28 19:28:04 -0400 |
|---|---|---|
| committer | Shyam Sunder | 2019-09-28 19:53:28 -0400 |
| commit | 6da18036a4e6defdb2382a10a893a5900dc501b0 (patch) | |
| tree | 6a49b4681584e8b73ae9e64dfa088ddd4bad0165 | |
| parent | 2af304b84441ad090ffc20568384e2426dbdb148 (diff) | |
client/docker: improved Dockerfile
| -rw-r--r-- | client/Dockerfile | 26 | ||||
| -rwxr-xr-x | client/docker-start.sh | 11 | ||||
| -rwxr-xr-x | client/hooks/build | 9 |
3 files changed, 33 insertions, 13 deletions
diff --git a/client/Dockerfile b/client/Dockerfile index 94ab800..7d07bd9 100644 --- a/client/Dockerfile +++ b/client/Dockerfile @@ -11,19 +11,21 @@ ARG CLIENT_BUILD_ARGS="" RUN BASE_URL="__BASEURL__" node build.js --gzip ${CLIENT_BUILD_ARGS} -FROM nginx:alpine -WORKDIR /var/www +FROM scratch as approot -RUN \ - # Create init file - echo "#!/bin/sh" >> /init && \ - echo 'sed -i "s|__BACKEND__|${BACKEND_HOST}|" /etc/nginx/nginx.conf' >> /init && \ - echo 'sed -i "s|__BASEURL__|${BASE_URL:-/}|g" /var/www/index.htm /var/www/manifest.json' >> /init && \ - echo 'exec nginx' >> /init && \ - chmod a+x /init +COPY docker-start.sh / -CMD ["/init"] -VOLUME ["/data"] +WORKDIR /etc/nginx +COPY nginx.conf.docker ./nginx.conf -COPY nginx.conf.docker /etc/nginx/nginx.conf +WORKDIR /var/www COPY --from=builder /opt/app/public/ . + + +FROM nginx:alpine + +RUN apk --no-cache add dumb-init +COPY --from=approot / / + +CMD ["/docker-start.sh"] +VOLUME ["/data"] diff --git a/client/docker-start.sh b/client/docker-start.sh new file mode 100755 index 0000000..9b1ba0e --- /dev/null +++ b/client/docker-start.sh @@ -0,0 +1,11 @@ +#!/usr/bin/dumb-init /bin/sh + +# Integrate environment variables +sed -i "s|__BACKEND__|${BACKEND_HOST}|" \ + /etc/nginx/nginx.conf +sed -i "s|__BASEURL__|${BASE_URL:-/}|g" \ + /var/www/index.htm \ + /var/www/manifest.json + +# Start server +exec nginx
\ No newline at end of file diff --git a/client/hooks/build b/client/hooks/build index 86d0c78..b8c2c20 100755 --- a/client/hooks/build +++ b/client/hooks/build @@ -1,4 +1,11 @@ #!/bin/sh -BUILD_INFO=docker-$(echo $SOURCE_COMMIT | cut -c1-7)-auto + +CLOSEST_VER=$(git describe --tags --abbrev=0) +if git describe --exact-match --abbrev=0 2> /dev/null; then + BUILD_INFO="v${CLOSEST_VER}" +else + BUILD_INFO="v${CLOSEST_VER}-edge-$(echo $SOURCE_COMMIT | cut -c1-7)" +fi + echo "Using BUILD_INFO=$BUILD_INFO" docker build --build-arg BUILD_INFO=$BUILD_INFO -f $DOCKERFILE_PATH -t $IMAGE_NAME . |