本地网站一键部署同步到服务器
成果




原理
通过mac 自带的强大的 rsync,一键(其实是一句话运行脚本即可)同步本地开发的网站数据到服务器对应的网站目录。
同时,沿用 git 的排除目录/文件方法,.gitignore 去判断哪些文件不上传/同步。
真的,mac 里面自带的 rsync 速度贼快!!!谁用谁知道。
方式
因为每次要生成 2 个文件,分别是:deploy.sh、.gitignore
所以写了一个文件生成的 php 站(php7.4),直接生成一个压缩包,解压到本地网站根目录即可。
当然,在执行一键部署的文件(deploy.sh)前,需要与服务器做一个“握手”的操作。
这个握手的操作只要做过一次,以后都是不用再做了的。
熟悉之后,全程也就是 2 分钟搞定!
Step1.检查
先检查本机是否已有 SSH 公钥:
ls ~/.ssh/*.pub
Step2.生成默认 ssh 公钥
ssh-keygen -t ed25519 -C "root@139.159.217.75"
先让本机和服务器建立 SSH 信任:
ssh-copy-id -p 22 root@139.159.217.75
Step3..gitignore、deploy.sh 和 readme.md 解压到项目根目录
Step4.在 mac 终端里进入根目录
cd /网站目录地址
Step5.激活脚本(给执行权限)
cd ./
chmod +x deploy.sh
Step6.预览同步文件
./deploy.sh --dry-run
Step7.执行同步
./deploy.sh
end~~~
同步后会在根目录的 log 文件夹内会有同步日志。
同步会遵循.gitignore 文件,里面有排除哪些文件 or 文件夹的。