要求
- 项目必须使用GitHub进行项目版本控制
- 为了更好的执行上传命令,项目部署的服务器必须是linux系统(win系统中有些命令无权限运行)
项目步骤
准备algolia文件
根目录中创建文件夹.github\workflows\algolia.yml
name: Deploy Frontend to Server
on:
push:
branches: [ master ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Dependencies
run: |
sudo apt-get update && \
sudo apt-get install -y sshpass && \
npm install
- name: Build Project
run: |
npm run build
- name: Deploy
uses: easingthemes/ssh-deploy@v2.2.1
with:
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} # 需要Github填充
remote_host: ${{ secrets.DEPLOY_HOST }}
remote_user: ${{ secrets.DEPLOY_USERNAME }}
args: -rltgoDzvO --delete
source: "dist/" # 将部署的路径特别标注出来
target: "/root/test" # 远程服务器目标路
创建该文件夹后,项目一但上传(
git push)到Github,就会立即在Actions中执行run,将dist中文件替换到/root/test中。
部署服务器步骤
安装git
生成密钥
- 右击目录空白处,打开
Git Bash Here - 输入命令生成
ssh-keygen -t rsa
-
根据指令回车
- 回车生成密钥文件
- 输入密钥锁码(可直接回车)
- 再次输入
- 生成id_rsa私钥
- 生成id_rsa.pub公钥
-
输入命令将私钥转成pem格式
ssh-keygen -p -f ~/.ssh/id_rsa -m pem
- 通过vim打开id_rsa生成后的文件,查看开头是不是
-----BEGIN RSA PRIVATE KEY-----
Github填充步骤
进入github中提交项目的settings->Secrets and variables->Actions
- 根据项目要求,设置您自己的服务器IP地址、用户名(Linux系统默认通常为root)以及由服务器生成的id_rsa文件的pem值。
- GitHub中这里是使用pem文件登录方式,无需输入服务器密码。
通过以上步骤配置服务器信息和GitHub登录方式时,确保按照项目需要正确设置相关字段。这样可以保证项目的顺利进行,并且以更加安全和便捷的方式管理代码和部署服务器。
最后提交代码
git push
通过Github提交项目中的Actions,查看运行进程。