Как запустить go-cloud-debug-agent в Google Cloud Run, чтобы я мог отлаживать приложение go в Stackdriver Debug - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь запустить go-cloud-debug-agent в Cloud Run

FROM golang:1.13.1 
RUN go get -u cloud.google.com/go/cmd/go-cloud-debug-agent
RUN mkdir -p /go/src/xyz
WORKDIR /go/src/xyz
COPY . .

RUN go build -gcflags=all='-N -l' -o main .


EXPOSE 8080
ENTRYPOINT ["go-cloud-debug-agent","-projectid=someproject-12313423","-appmodule=main","-appversion=1.0","--","/go/src/xyz/main"]

К сожалению, при попытке развернуть его в Cloud Run я вижу следующую ошибку в ведении журнала Stackdriver

Error loading program: AttrStmtList not present or not int64 for unit 98

Кто-нибудь знает, как использовать go-cloud-debug-agent с Cloud Run?

Ответы [ 2 ]

0 голосов
/ 24 октября 2019

Go в данный момент не поддерживается для Cloud Run. Вот список поддерживаемых языков и платформ для отладчика: https://cloud.google.com/debugger/docs/setup/

0 голосов
/ 22 октября 2019

Как указал @JohnHanley, мне пришлось изменить версию golang на 1.11, чтобы обеспечить совместимость с агентом отладки. В заключение следует, что следующий Dockerfile должен запускаться в Cloud Run любого кода golang и позволять вам использовать Stackdriver Debug с ним.

FROM golang:1.11
RUN go get -u cloud.google.com/go/cmd/go-cloud-debug-agent
RUN mkdir -p /go/src/xyz
WORKDIR /go/src/xyz
COPY . .

RUN go build -gcflags=all='-N -l' -o main .


EXPOSE 8080
ENTRYPOINT ["go-cloud-debug-agent","-projectid=someproject-12313423","-appmodule=main","-appversion=1.0","--","/go/src/xyz/main"]

GCP должен опубликовать некоторые примеры, поскольку из их текущей документации, которую я могу вывести, нет способа запуститьgo-cloud-debug-agent в Cloud Run и этот Cloud Run не поддерживается.

...