diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..3a6d2d78 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,21 @@ +/logs/ +/target/ +/var/ +/web/node_modules/ +/web/public/ +/.vscode/ +/.idea/ +#/.git/ + +# source files +docker-compose.yml + +# generated files +*.cov +.cover +target +debug +debug.test +*.prof +*.test + diff --git a/Dockerfile b/Dockerfile index dcc5687e..1af0198d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,16 @@ FROM umputun/baseimage:buildgo-latest as build-backend -ADD . /go/src/github.com/umputun/remark WORKDIR /go/src/github.com/umputun/remark +ADD app /go/src/github.com/umputun/remark/app +ADD vendor /go/src/github.com/umputun/remark/vendor + RUN cd app && go test -v $(go list -e ./... | grep -v vendor) RUN gometalinter --disable-all --deadline=300s --vendor --enable=vet --enable=vetshadow --enable=golint \ --enable=staticcheck --enable=ineffassign --enable=goconst --enable=errcheck --enable=unconvert \ --enable=deadcode --enable=gosimple --enable=gas --exclude=test --exclude=mock --exclude=vendor ./... -#RUN /script/checkvendor.sh RUN mkdir -p target && /script/coverage.sh RUN go build -o remark -ldflags "-X main.revision=$(git rev-parse --abbrev-ref HEAD)-$(git describe --abbrev=7 --always --tags)-$(date +%Y%m%d-%H:%M:%S) -s -w" ./app @@ -20,26 +21,26 @@ FROM node:9.4-alpine as build-frontend ADD web /srv/web RUN \ cd /srv/web && \ - rm -rf ./node_modules && \ - npm i && npm run build + npm i && npm run build && \ + rm -rf ./node_modules FROM umputun/baseimage:app-latest -COPY --from=build-backend /go/src/github.com/umputun/remark/remark /srv/ -COPY --from=build-frontend /srv/web/public/ /srv/web -RUN chown -R umputun:umputun /srv - -ADD start.sh /srv/start.sh -RUN chmod +x /srv/start.sh - -ADD scripts/import-disqus.sh /srv/import-disqus.sh -ADD scripts/restore-backup.sh /srv/restore-backup.sh -RUN chmod +x /srv/import-disqus.sh /srv/restore-backup.sh - WORKDIR /srv EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=3s CMD curl --fail http://localhost:8080/ping || exit 1 +ADD scripts/import-disqus.sh /srv/import-disqus.sh +ADD scripts/restore-backup.sh /srv/restore-backup.sh + +ADD start.sh /srv/start.sh + +RUN chmod +x /srv/start.sh /srv/import-disqus.sh /srv/restore-backup.sh + +COPY --from=build-backend /go/src/github.com/umputun/remark/remark /srv/ +COPY --from=build-frontend /srv/web/public/ /srv/web +RUN chown -R umputun:umputun /srv + CMD ["/srv/start.sh"] ENTRYPOINT ["/init.sh"]