我试图创建一个使用SvelteKit的网站,并达到了一个点,我需要添加一个CMS。我决定选择PayloadCMS,但这并不重要。目前,我的项目包含在一个git repo中,其中我有一个Dockerfile,用于构建我的应用程序的生产和开发版本。
然后,我有一个compose.dev.yml文件,它在本地运行开发版本,以及GoogleCloudBuild配置,以在CloudRun上构建和运行我的应用程序。我最好避免使用monorepo,因为这会给Google Cloud方面的事情增加一些复杂性,所以我想知道是否有一种好方法可以为PayloadCMS添加另一个repo,在其中添加一个Dockerfile,并且还有一种方法可以在一个地方为两个项目启动开发组合文件。
我看过使用git子模块的第三个repo,但这似乎增加了比它解决的更多的问题。
答:好像我没有问清楚问题。我想问的是,是否有一种方法可以拥有两个或更多的存储库,这些存储库使用单个docker-compose文件进行部署,并且在某个地方进行版本控制。我认为可以使用git子模块,但我到处都读到它是一个糟糕的解决方案。我还有什么其他选择,什么是“最佳做法”?
1条答案
按热度按时间b1uwtaje1#
compose.yaml
文件可以定义多个服务。每个服务可以具有对应的Dockerfile
。每个Dockerfile中的ADD
命令可以从存储库中拉取。因此,一个Dockerfile可以从repoA拉取,另一个Dockerfile可以从repoB拉取。https://docs.docker.com/engine/reference/builder/#add