Skip to content

Instantly share code, notes, and snippets.

@alexesDev
Last active January 10, 2020 17:52
Show Gist options
  • Save alexesDev/d89b7ab3136777572210eb6b5eb2b246 to your computer and use it in GitHub Desktop.
Save alexesDev/d89b7ab3136777572210eb6b5eb2b246 to your computer and use it in GitHub Desktop.

Добавить в репу изначальные файлы с зависимостями, чтобы зафиксировать базовые зависимости (изредко обновлять, если много зависимостей накапало):

cp stack.yaml .init-stack.yaml
cp stack.yaml.lock .init-stack.yaml.lock
cp package.yaml .init-package.yaml
FROM fpco/stack-build:lts-14.20 as build
WORKDIR /app
COPY .init-stack.yaml stack.yaml
COPY .init-stack.yaml.lock stack.yaml.lock
COPY .init-package.yaml package.yaml
RUN stack build --only-dependencies
COPY . .
# https://www.fpcomplete.com/blog/2016/10/static-compilation-with-stack
RUN cd /usr/lib/gcc/x86_64-linux-gnu/7 && \
cp crtbeginT.o crtbeginT.o.orig && \
cp crtbeginS.o crtbeginT.o
RUN stack install --ghc-options '-optl-static -fPIC -O2'
FROM scratch
COPY --from=build /root/.local/bin/myapp-exe /app
CMD ["/app"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment