Nodejs Skaffold 本地开发到生产流程
Nodejs Skaffold local development to prod process
容器和 kubernetes 的新手。
我正在尝试进行设置,以便我们在整个生产过程中始终保持本地开发的平等。
Skaffold 似乎是执行此操作的好方法,但我对一些小示例和 'ideal workflow'
感到困惑
引用 https://github.com/GoogleContainerTools/skaffold/tree/master/examples/nodejs
他们给的dockerfile用的是nodemon。不会在产品中使用同一个容器吗?在产品中成为 运行 nodemon 不是很糟糕吗?
如何设置具有实时文件同步功能的 kubernetes 本地开发环境并使用相同的资源(以便具有幂等性)进行生产?
你完全正确。不建议在生产容器中使用 nodemon。相反,您通常需要不同的图像或不同的入口点用于开发、暂存和生产。有两种选择可以解决这个问题:
1.多个 Dockerfiles
您可以在 Skaffold 中配置配置文件并告诉 Skaffold 在构建步骤中使用不同的 Dockerfile:https://skaffold.dev/docs/how-tos/profiles/
2。单个 Dockerfile + Dev Overrides
如果您不想管理多个 Dockerfile,可以使用支持开发覆盖的开发工具。 DevSpace (https://github.com/devspace-cloud/devspace) 例如区分 devspace deploy
和 devspace dev
应用某些覆盖,例如覆盖图像的入口点。在这种情况下,您可以在 package.json 中指定 2 个 npm 脚本,并使用入口点 npm start dev
启动开发模式,使用 npm start
.
启动生产模式
容器和 kubernetes 的新手。
我正在尝试进行设置,以便我们在整个生产过程中始终保持本地开发的平等。
Skaffold 似乎是执行此操作的好方法,但我对一些小示例和 'ideal workflow'
感到困惑引用 https://github.com/GoogleContainerTools/skaffold/tree/master/examples/nodejs
他们给的dockerfile用的是nodemon。不会在产品中使用同一个容器吗?在产品中成为 运行 nodemon 不是很糟糕吗?
如何设置具有实时文件同步功能的 kubernetes 本地开发环境并使用相同的资源(以便具有幂等性)进行生产?
你完全正确。不建议在生产容器中使用 nodemon。相反,您通常需要不同的图像或不同的入口点用于开发、暂存和生产。有两种选择可以解决这个问题:
1.多个 Dockerfiles
您可以在 Skaffold 中配置配置文件并告诉 Skaffold 在构建步骤中使用不同的 Dockerfile:https://skaffold.dev/docs/how-tos/profiles/
2。单个 Dockerfile + Dev Overrides
如果您不想管理多个 Dockerfile,可以使用支持开发覆盖的开发工具。 DevSpace (https://github.com/devspace-cloud/devspace) 例如区分 devspace deploy
和 devspace dev
应用某些覆盖,例如覆盖图像的入口点。在这种情况下,您可以在 package.json 中指定 2 个 npm 脚本,并使用入口点 npm start dev
启动开发模式,使用 npm start
.