我在我的项目中使用了 VueJS 2,但我意识到我的构建部署很糟糕。
这是我在 github 上部署我的 VueJS 构建的脚本:
#!/usr/bin/env sh
# abort on errors
set -e
# build
cd ../..
VUE_APP_ENV=demo vue-cli-service build
# navigate into the build output directory
cd dist
git init
git add -A
git commit -m 'deploy'
git push -f git@github.com:MyRepo/my-project.git master:my-project-demo-deployment
cd -
rm -rf dist/
之后,我转到远程服务器并使用以下命令获取新版本:
git pull origin --rebase
我使用这个命令是因为我没有 git 历史,所以我不能拉。每次构建都被删除,因为我删除了 dist/
文件夹。
但是这种在远程服务器上部署我的构建的方式并不是很好,因为我不能轻易地回到以前的提交,因为我每次构建/推送时只有一次提交。
我想知道是否有解决方案可以将我所有不同的构建部署在 github 上,以便在远程服务器上正常git pull
执行我的新构建。我必须编辑我的脚本,但我不知道什么是最好的解决方案。也许我必须创建另一个存储库来存储我所有的构建提交?我不知道。我希望你能帮助我。
答案 0 :(得分:2)
这是我几周前开始的一个副项目,几乎什么都没做(只是配置)。但是你可以看到:
https://cyrielle-design.netlify.app
github.com/kissu/free-cyrielle-front
add netlify gitignore
+ build: add new fancy package + config
如果我点击其中一个构建,我可以访问一些设置,其中之一是“部署站点”,也就是回滚到之前的构建。
所以,是的,这不是直接回答您的问题,但我觉得谈论一个对您的部署过程有很大帮助的平台很好。
我没有被赞助或其他什么的,但我可以对此发表一些看法。
有些插件可以让您轻松使用一些后端功能(lambda 函数 + 表单),您拥有真正的分析、拆分测试、身份验证、它为您管理整个缓存失效,以及许多很棒的东西。并且它可能会保留在免费层,直到您真正开始开展一些具有大量 IMO 流量的严肃公司业务。
Vercel 是另一个不错的选择。我知道您现在也可以在 Firebase 甚至 Digitalocean 和 Cloudflare 上托管。但我确实使用 Netlify,它可能是目前最简单的前端应用解决方案(几乎相当于 Heroku)。