170 похожих чатов

Подскажите пожалуйста по джину. Пытаюсь стартовать приложение с помощью компоуза

и оттуда запускаю докерфайл вида:

FROM golang:latest as run
WORKDIR /app
RUN go install github.com/codegangsta/gin@latest
COPY . .
RUN go mod download
WORKDIR /app/cmd/app
EXPOSE 4000
ENTRYPOINT gin --appPort 3000 --all -i run main.go

так получается что джин перебилживает приложение только если изменяю main, но у меня не только main, а несколько гошных пакетов

То есть задача стоит в том, чтобы сделать докерфайл, который билдит приложение при каждом изменении его кода, live-reload сервер то есть.

Как заставить GIN смотреть на все гошные файлы?

Или может у кого есть готовые докерфайлы для разработки на го, тогда вопрос снимается.

пробовал через CompileDaemon, но пока что не получилось его завести, этот негодяй ругается на то что не видит compiledemon когда стартует точку входа

FROM golang:latest
WORKDIR /app
COPY ./ /app
RUN go mod download
RUN go get github.com/githubnemo/CompileDaemon
ENTRYPOINT CompileDaemon --build="go build commands/runserver.go" --command=./runserver

8 ответов

37 просмотров

"билдит приложение при каждом изменении его кода" - то есть во время написание кода сервер будет постоянно пытаться пересобраться и валиться с ошибками сборки?

на вопрос не отвечу, из любопытсва хотел бы спросить. А для чего такое? Почему например не пилить фичу локально, проверить, а после проверить 1 раз в докере?

Vyacheslav- Автор вопроса
Dmitriy Sviridov
"билдит приложение при каждом изменении его кода" ...

ну то есть я написал код, жму сохранить, он перебилдил вновь быстро и можно глянуть что там в браузере, а не искать мэин и жать на квадраты и треугольники бесконечно (я в vscode) в общем хочу организовать что-то вроде nodemon, который стартует в докере или по хоткею тоже наверно нормально будет, поищу такие варианты подумаю тогда

твой братишка
https://github.com/cosmtrek/air вот такая штука е...

и вот еще https://github.com/codegangsta/gin нашел в звездах на гитхабе ничего из этого не пробовал, не могу ничего конкретнее сказать

Vyacheslav- Автор вопроса
твой братишка
и вот еще https://github.com/codegangsta/gin нашел...

да, я это попробовал, работает отлично, но работало лишь на изменение в мэин а главное никаких конфигурационных файлов которые требует эир но кажется я догадался, видать надо ключ дописать: -all проверю теорию завтра, но почти уверен что это решит.

Vyacheslav
да, я это попробовал, работает отлично, но работал...

--all reloads whenever any file changes, as opposed to reloading only on .go file change думаю да но я бы остановился на эире, наверное. он поживее будет, и популярнее

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта