卑微前端如何寫一個自動部署腳本?(超簡單, 一學就會!)

引言: 小公司的前端通常是怎麼部署的呢?是否是在項目中 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

相關文章
相關標籤/搜索