卑微前端如何写一个自动部署脚本?(超简单, 一学就会!)

引言: 小公司的前端通常是怎么部署的呢?是否是在项目中 npm run build, 而后打开shell工具, 登录到服务器, 而后把打包后的代码拖到指定的目录下? 若是能够写一个脚本, 而后一行命令就能完成这一系列操做, 那是否是美滋滋? 固然若是你会使用Jenkins, GitLab-Runner + GitLab-CI进行自动化部署的话, 那就另当别论, 本文使用脚本的方式是一种比较快捷, 轻便, 一看就废的那种, 好了, 废话很少说, 开始动手。

第1步:

首先打开你的本地的"git bash"或者"终端", 输入ssh-keygen, 生成一个公私钥密钥对, 输入command之后就一直回车回车就好了, 以下图:image.pnghtml

第二步:

公钥放到服务器上

  • 登录服务器, cd 到 .ssh文件夹下面
  • ls查看有没有"authorized_keys"文件, 若是没有的话, 就新建一个
    image.png
  • 打开"authorized_keys"文件, 而后把生成的公钥体贴image.png
  • 重启服务器的ssh服务: image.png前端

    私钥(id_rsa)就放在本地的.ssh文件夹下面不动它就能够了

这个时候就能够经过
ssh -i ~/.ssh/id_rsa root@192.168.4.2命令链接到服务器了, 若是你连不上, 这个还有一个小插曲, 就是权限问题nginx

  • authorized_keys 文件必须是600权限(也就是-rw——-)或者644
  • .ssh目录必须是700权限(也就是drwx——)

为了方便区分私钥文件, 咱们把id_rsa文件名改为deployKey, 而后就能够经过ssh -i ~/.ssh/deployKey root@192.168.4.2链接到咱们的服务器git

编写部署脚本

echo "Start build!"
npm run build:prod
ssh -i ~/.ssh/test_deploy_key root@192.168.4.2 "rm -rf /mydata/nginx/html/manage/*"
scp -r -i ~/.ssh/bfadmindeploykey ./dist/* root@192.168.4.2:/mydata/nginx/html/manage

保存文件名为: deploy.shshell

大功告成, 这时候每次你须要部署的时候, 就直接到项目目录下执行 ./depimage.png
image.pngnpm

相关文章
相关标签/搜索