我正在研究将Nuxt.js用于新Web应用程序,该Web应用程序在项目本身中附加了Express服务器/ API。我已经使用npx create-nuxt-app命令创建了Nuxt.js应用程序,并选择Express作为“自定义服务器框架”。
使用开发环境(npm run dev
)时,它就像是一种魅力。现在,我想使用Gitlab CI将应用程序部署到运行pm2的服务器上。我无法正确部署应用程序,因为我认为我不应该将源代码“上载”到服务器,然后运行诸如npm run build
或npm start
之类的必要命令。那么,与服务器一起部署此应用程序的真正“正确方法”是什么?
我对要在其中部署此应用程序和API的服务器具有SSH访问权限。服务器正在运行pm2来管理Node进程。
此外,源代码位于Gitlab服务器上的存储库中,并且可以使用Gitlab CI Runner。当前的gitlab-ci.yml执行以下操作:
npm install
npm run build
lftp
dist
文件夹到服务器对于SPA,仅构建客户端,而没有构建服务器/ API。我认为我们现在有一个肮脏的解决方法,它不能很好地执行以下操作:
npm install
npm run build
它似乎无法正常工作,我感觉我们正在制造问题,而不是以正确的方式解决部署问题。我们不使用Heroku,Google或任何其他服务来托管应用程序,它基本上只是具有SSH访问权限的网络托管。