mirror of
https://github.com/weaveworks/scope.git
synced 2026-05-16 14:17:35 +00:00
Stop baking the toolchain and dependencies into the build image. Instead, run the install step each time, but use volume mounts or CircleCI caching to keep the happy path fast. Previously, some parts of the client (UI) directory were baked into the build image, and some parts were mounted or copied into the build environment. As a result, files baked into the build image require a two-step update for changes to take effect in CI. Now, for dockerised builds, we pre-install very little into the build image and mount the whole directory into the build environment. However, we do overlay a volume on the node_modules folder to allow the standard build toolchain to be separate from the host build toolchain. Non-dockerised builds (e.g. CI) are now more similar to the dockerised versions.
16 lines
641 B
Docker
16 lines
641 B
Docker
# Changes to this file will not take effect in CI
|
|
# until the image version in the CI config is updated. See
|
|
# https://github.com/weaveworks/scope/blob/master/.circleci/config.yml#L11
|
|
FROM node:8.11
|
|
ENV NPM_CONFIG_LOGLEVEL=warn
|
|
ENV NPM_CONFIG_PROGRESS=false
|
|
ENV XDG_CACHE_HOME=/home/weave/scope/.cache
|
|
WORKDIR /home/weave/scope/client
|
|
|
|
ARG revision
|
|
LABEL maintainer="Weaveworks <help@weave.works>" \
|
|
org.opencontainers.image.title="scope-ui-build" \
|
|
org.opencontainers.image.source="https://github.com/weaveworks/scope" \
|
|
org.opencontainers.image.revision="${revision}" \
|
|
org.opencontainers.image.vendor="Weaveworks"
|