Size: a a a

DevOps — русскоговорящее сообщество

2021 January 28

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
zeleniumex
Как это не работает .
Ты вендором пользуешься?
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
Или модом?
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
GO111MODULES=on стоит?
источник

i

inqfen in DevOps — русскоговорящее сообщество
С модом все работает
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
Окей. Как тогда указать гошке, откуда подцеплять сорцы?
источник

i

inqfen in DevOps — русскоговорящее сообщество
то что везде модули называются по имени репы - это только условность
источник

i

inqfen in DevOps — русскоговорящее сообщество
можешь так не делать, просто так принято
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
Я, всё-таки, приверженец того, чтобы делать так, как принято, а не колхозить. Иначе другой человек придёт и потом будет ковыряться и плеваться.
источник

z

zeleniumex in DevOps — русскоговорящее сообщество
Egor Urvanov
Ты вендором пользуешься?
FROM golang:1.14.2-alpine3.11 as golang
WORKDIR /go/src/app
ARG APP_MAIN_PATH
RUN apk --no-cache add gcc libc-dev git bash
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64  go build \
     -ldflags='-w -s -extldflags "-static"' -a \
     -mod=vendor \
     -o /go/bin/app ${APP_MAIN_PATH}

FROM alpine:latest as alpine
RUN apk --no-cache add tzdata zip ca-certificates
WORKDIR /usr/share/zoneinfo
# -0 means no compression.  Needed because go's
# tz loader doesn't handle compressed data.
RUN zip -r -0 /zoneinfo.zip .

FROM scratch
COPY --from=golang /bin/bash /bin/bash
COPY --from=golang /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
COPY --from=golang /usr/lib/libreadline.so.8 /usr/lib/libreadline.so.8
COPY --from=golang /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
COPY --from=golang /usr/lib/libncursesw.so.6 /usr/lib/libncursesw.so.6
# Copy main program:
COPY --from=golang /go/bin/app /app
# the timezone data:
ENV ZONEINFO /zoneinfo.zip
COPY --from=alpine /zoneinfo.zip /
# the tls certificates:
COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
ENTRYPOINT ["/app"]
источник

i

inqfen in DevOps — русскоговорящее сообщество
Egor Urvanov
Я, всё-таки, приверженец того, чтобы делать так, как принято, а не колхозить. Иначе другой человек придёт и потом будет ковыряться и плеваться.
или будет плеваться от того что принято по уебански
источник

i

inqfen in DevOps — русскоговорящее сообщество
Перенес модуль на гитлаб - название меняешь?
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
inqfen
или будет плеваться от того что принято по уебански
Дальше можешь не комментировать (=
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
zeleniumex
FROM golang:1.14.2-alpine3.11 as golang
WORKDIR /go/src/app
ARG APP_MAIN_PATH
RUN apk --no-cache add gcc libc-dev git bash
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64  go build \
     -ldflags='-w -s -extldflags "-static"' -a \
     -mod=vendor \
     -o /go/bin/app ${APP_MAIN_PATH}

FROM alpine:latest as alpine
RUN apk --no-cache add tzdata zip ca-certificates
WORKDIR /usr/share/zoneinfo
# -0 means no compression.  Needed because go's
# tz loader doesn't handle compressed data.
RUN zip -r -0 /zoneinfo.zip .

FROM scratch
COPY --from=golang /bin/bash /bin/bash
COPY --from=golang /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
COPY --from=golang /usr/lib/libreadline.so.8 /usr/lib/libreadline.so.8
COPY --from=golang /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
COPY --from=golang /usr/lib/libncursesw.so.6 /usr/lib/libncursesw.so.6
# Copy main program:
COPY --from=golang /go/bin/app /app
# the timezone data:
ENV ZONEINFO /zoneinfo.zip
COPY --from=alpine /zoneinfo.zip /
# the tls certificates:
COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
ENTRYPOINT ["/app"]
Спасибо
источник

i

inqfen in DevOps — русскоговорящее сообщество
Сделал миррор во вторую репу - теперь это какое название должно быть?
источник

i

inqfen in DevOps — русскоговорящее сообщество
Это подход от гугла со всегда одной репой, еще и моно
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
zeleniumex
FROM golang:1.14.2-alpine3.11 as golang
WORKDIR /go/src/app
ARG APP_MAIN_PATH
RUN apk --no-cache add gcc libc-dev git bash
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64  go build \
     -ldflags='-w -s -extldflags "-static"' -a \
     -mod=vendor \
     -o /go/bin/app ${APP_MAIN_PATH}

FROM alpine:latest as alpine
RUN apk --no-cache add tzdata zip ca-certificates
WORKDIR /usr/share/zoneinfo
# -0 means no compression.  Needed because go's
# tz loader doesn't handle compressed data.
RUN zip -r -0 /zoneinfo.zip .

FROM scratch
COPY --from=golang /bin/bash /bin/bash
COPY --from=golang /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
COPY --from=golang /usr/lib/libreadline.so.8 /usr/lib/libreadline.so.8
COPY --from=golang /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
COPY --from=golang /usr/lib/libncursesw.so.6 /usr/lib/libncursesw.so.6
# Copy main program:
COPY --from=golang /go/bin/app /app
# the timezone data:
ENV ZONEINFO /zoneinfo.zip
COPY --from=alpine /zoneinfo.zip /
# the tls certificates:
COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
ENTRYPOINT ["/app"]
Так у тебя тут вендор вон. Явно же указано:

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64  go build \
     -ldflags='-w -s -extldflags "-static"' -a \
     -mod=vendor \
     -o /go/bin/app ${APP_MAIN_PATH}
источник

z

zeleniumex in DevOps — русскоговорящее сообщество
Ну так там часть CI автоматизирует это все.
источник

z

zeleniumex in DevOps — русскоговорящее сообщество
Плюсом некотрые вендор либы форкнуты и перепилены под себя.
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
Ладно. Я понял. Спс.
источник

z

zeleniumex in DevOps — русскоговорящее сообщество
У всех свои юзкейсы.
источник