egg icon indicating copy to clipboard operation
egg copied to clipboard

[Feature Request] 将开源基于 egg 的 SaaS 应用部署到企业内部 PaaS

Open fengmk2 opened this issue 4 years ago • 6 comments
trafficstars

Background

企业内部通常我们会基于 egg 封装自己的上层框架,如 yadan。 那么我想部署 Easy-Monitor https://github.com/X-Profiler/xtransit-manager/blob/master/package.json#L12 发现它是基于 egg 开发的,如何让它变成基于 yadan 呢?除了修改代码,还能有什么方式?

Proposal

需要一个标准的方式,让更多基于 egg 的 SaaS 可以成为企业内部应用。

Additional context

修改代码和不修改代码都可以接受

fengmk2 avatar May 22 '21 03:05 fengmk2

既然可以在【外部基于 Egg 的开源项目】 package.json 中显示申明 egg.framework 来确定上层框架的继承关系,要不改任何代码,是否可以考虑也支持 env(比如 EGG_FRAMEWORK=yadan) 的方式来确定?

hyj1991 avatar May 22 '21 03:05 hyj1991

这样子就无需更改纯基于 egg 的项目的代码,而是通过启动时注入 env 来达到使用的目的

hyj1991 avatar May 22 '21 03:05 hyj1991

这样子就无需更改纯基于 egg 的项目的代码,而是通过启动时注入 env 来达到使用的目的

yadan 这个 npm 依赖如何安装进去呢?还是需要一个配置来实现。

fengmk2 avatar May 22 '21 05:05 fengmk2

yadan 这个 npm 依赖如何安装进去呢?还是需要一个配置来实现。

也有办法,比如可以在公共仓库的项目里定义一个 preinstall 脚本,约定拉取 EGG_FRAMEWORK 申明的依赖(如果有)

实际上改动肯定是要有的,无非是 fork 后自己改(package.json)还是改上游开源仓库

hyj1991 avatar May 22 '21 06:05 hyj1991

egg-scripts start --framework=/path/to/yadan --baseDir=/path/to/app

atian25 avatar May 24 '21 02:05 atian25

egg-scripts start --framework=/path/to/yadan --baseDir=/path/to/app

打包的时候不方便吧?在 docker 里预先把 framework 代码放到某个目录么?

hyj1991 avatar May 24 '21 03:05 hyj1991