gpt4 book ai didi

docker - 设置 docker-compose 以监视多包 golang 项目的变化

转载 作者:IT王子 更新时间:2023-10-29 01:44:05 27 4
gpt4 key购买 nike

我正在使用 standard structure对于我的 go 应用程序。

它是这样构建的:

cmd
app
main.go
internal
app
server.go
pkg
users
...
pkg
dependency
...
web
app
...
docker-compose.yml
Dockerfile

然而,问题是使用这种结构很难安装和构建应用程序依赖项。例如,我使用一个文件观察器,如 fresh ,它只监视一个目录并运行一个特定的文件。如果我更新 pkg/dependency,它不会看到这些更改。

docker-compose 看起来像:

version: "3.1"

services:
core:
build: .
depends_on:
- mongo
- memcached
ports:
- 8080:8080
environment:
APP_ENV: dev
volumes:
- .:/go/src/github.com/me/app
mongo:
image: mongo
ports:
- 27017:27017
memcached:
image: memcached
ports:
- 11211:11211

docker 文件:

FROM golang:1.10.0

WORKDIR /go/src/github.com/me/app

COPY . .

RUN go get -u github.com/golang/dep/cmd/dep
RUN dep ensure

WORKDIR /go/src/github.com/me/app/cmd/app/
RUN go install
RUN go get github.com/pilu/fresh

CMD ["fresh"]

有什么帮助吗?

最佳答案

我会回到那个 fresh 仓库并询问他们

如果你的文件更改被保存到 git 那么你可以设置一个 webhook like https://github.com/adnanh/webhook收听这些 git push Action 来触发你的重建

但是,如果它们只是编辑,那么您可以使用类似的东西来滚动自己

https://github.com/hpcloud/tail

在我发现可以很好地工作的任意一组文件/目录上执行与 tail -f 等效的功能(我的日志触发解析守护进程以进行错误检查)

但你是对的,根据你的用例,可能有更简单的方法

关于docker - 设置 docker-compose 以监视多包 golang 项目的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52409271/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com