remark42_hotfix_7_3_2

Форк
0
/
Dockerfile.artifacts 
64 строки · 2.9 Кб
1
FROM node:16.20.2-alpine AS frontend-deps
2

3
ENV CI=true
4

5
WORKDIR /srv/frontend
6

7
COPY ./frontend/package.json ./frontend/pnpm-lock.yaml ./frontend/pnpm-workspace.yaml /srv/frontend/
8
COPY ./frontend/apps/remark42/package.json /srv/frontend/apps/remark42/package.json
9

10
RUN apk add --no-cache --update git && npm i -g pnpm@7
11
RUN --mount=type=cache,id=pnpm,target=/root/.pnpm-store/v3 pnpm i
12

13
FROM frontend-deps AS build-frontend
14

15
ENV NODE_ENV=production
16
ENV CI=true
17

18
WORKDIR /srv/frontend/apps/remark42/
19
COPY ./frontend/apps/remark42/ /srv/frontend/apps/remark42/
20
RUN pnpm build
21

22
FROM umputun/baseimage:buildgo-v1.13.0 as build-backend
23

24
ARG GITHUB_TOKEN
25
ARG GITHUB_REF
26
ARG GITHUB_SHA
27

28
WORKDIR /build/backend
29
ADD backend /build/backend
30
ADD README.md /build/
31
ADD LICENSE /build/
32

33
COPY --from=build-frontend /srv/frontend/apps/remark42/public/ /build/backend/app/cmd/web/
34

35
RUN find /build/backend/app/cmd/web/ -regex '.*\.\(html\|js\|mjs\)$' -print -exec sed -i "s|{% REMARK_URL %}|http://127.0.0.1:8080|g" {} \;
36

37
RUN \
38
  version=$("/script/version.sh") && echo "version=${version}" && \
39
    GOOS=linux GOARCH=amd64 go build -o remark42.linux-amd64 -ldflags "-X main.revision=${version} -s -w" ./app && \
40
    GOOS=linux GOARCH=386 go build -o remark42.linux-386 -ldflags "-X main.revision=${version} -s -w" ./app && \
41
    GOOS=linux GOARCH=arm go build -o remark42.linux-arm -ldflags "-X main.revision=${version} -s -w" ./app && \
42
    GOOS=linux GOARCH=arm64 go build -o remark42.linux-arm64 -ldflags "-X main.revision=${version} -s -w" ./app && \
43
    GOOS=windows GOARCH=amd64 go build -o remark42.windows-amd64.exe -ldflags "-X main.revision=${version} -s -w" ./app && \
44
    GOOS=darwin GOARCH=amd64 go build -o remark42.darwin-amd64 -ldflags "-X main.revision=${version} -s -w" ./app && \
45
    GOOS=darwin GOARCH=arm64 go build -o remark42.darwin-arm64 -ldflags "-X main.revision=${version} -s -w" ./app && \
46
    GOOS=freebsd GOARCH=amd64 go build -o remark42.freebsd-amd64 -ldflags "-X main.revision=${version} -s -w" ./app
47

48
RUN \
49
    apk add --no-cache --update zip && \
50
    cp ../LICENSE ./LICENSE && cp ../README.md ./README.md && \
51
    tar cvzf remark42.linux-amd64.tar.gz remark42.linux-amd64 LICENSE README.md && \
52
    tar cvzf remark42.linux-386.tar.gz remark42.linux-386 LICENSE README.md && \
53
    tar cvzf remark42.linux-arm.tar.gz remark42.linux-arm LICENSE README.md && \
54
    tar cvzf remark42.linux-arm64.tar.gz remark42.linux-arm64 LICENSE README.md && \
55
    tar cvzf remark42.darwin-amd64.tar.gz remark42.darwin-amd64 LICENSE README.md && \
56
    tar cvzf remark42.darwin-arm64.tar.gz remark42.darwin-arm64 LICENSE README.md && \
57
    tar cvzf remark42.freebsd-amd64.tar.gz remark42.freebsd-amd64 LICENSE README.md && \
58
    zip remark42.windows-amd64.zip remark42.windows-amd64.exe LICENSE README.md
59

60

61
FROM alpine
62
COPY --from=build-backend /build/backend/remark42.* /artifacts/
63
RUN ls -la /artifacts/*
64
CMD ["sleep", "100"]
65

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.