Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

打包部署问题 #88

Closed
wojiaoerdandan opened this issue Feb 18, 2022 · 1 comment
Closed

打包部署问题 #88

wojiaoerdandan opened this issue Feb 18, 2022 · 1 comment

Comments

@wojiaoerdandan
Copy link

麻烦问一下作者,这个打包部署需要去服务器吗?我看本地npm run build 之后出来的dist不对,然后参考了百度的结果,说是去服务器上面打包,因为本地指向依赖包问题
参考文献:https://www.cnblogs.com/xianxiaobo/p/12162309.html

@surmon-china
Copy link
Owner

@wojiaoerdandan 这个问题很有价值。

常规部署应用的做法:

  1. 生产机拉代码 git pull
  2. 安装依赖 yarn install
  3. 构建 yarn build
  4. 运行 yarn start

但由于我实际环境的生产机的性能不足以跑 “构建” 这一步(会死机),所以 “构建” 这一步被我转移到 GitHub Actions 进行:

GitHub Actions 在收到 push tags / release 事件后:

  1. 启动运行
  2. 安装依赖 yarn install
  3. 构建 yarn build
  4. 将构建后产物发布至 release 分支
  5. SSH 登录实际环境生产机,执行 deploy.sh 脚本

生产机 deploy.sh 脚本做的事情:

  1. 拉取最新代码 git pull
  2. 安装依赖 yarn install (这一部很重要,也就是你困惑的问题)
  3. release 分支的(构建后)代码拉取到本地的 dist 文件夹
  4. 运行程序 yarn start

可以看出:

  1. 我分解出的一个重要步骤是 yarn build 这一步,build 是对机器有性能要求的一步
  2. Node.js 应用在任何地方运行都需要保证 node_modules 是存在且有效的,所以我在生产机那里,只需要做 yarn install --frozen-lockfile --production 即可

@surmon-china surmon-china pinned this issue Feb 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants