前言
之前我写完博客后会通过webstorm把生成的静态文件上传到服务器,感觉比较麻烦,而且浪费时间. webstorm上传到服务器
工作流
在项目下创建.github文件,在文件下创建workflow文件夹,在文件夹下创建main.yml
secrets.USERNAME:用户名
secrets.FTP_SERVER:服务器IP
secrets.SSH_PRIVATE_KEY:SSH密钥
name: Deploy to Server
on: push: branches: - main
jobs: deploy: name: Deploy runs-on: ubuntu-latest
steps: - name: Checkout Code uses: actions/checkout@v2
- name: Installation Node uses: actions/setup-node@v1 with: node-version: "16.x"
- name: Installation Hexo run: | export TZ='Asia/Shanghai' npm install hexo-cli -g
- name: Download Dependencies run: | npm install gulp-cli -g npm install --save
- name: Generate File run: | hexo clean hexo generate hexo algolia gulp
- name: Remove Old Files uses: appleboy/ssh-action@master with: host: ${{ secrets.FTP_SERVER }} username: ${{ secrets.USERNAME }} key: ${{ secrets.SSH_PRIVATE_KEY }} script: | cd 服务器存放路径 rm -rf *
- name: Push Search Engine run: | hexo deploy
- name: Upload Files uses: easingthemes/ssh-deploy@v2 env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} ARGS: "-rltgoDzvO --delete" EXCLUDE: ".well-known" SOURCE: "./public/*" REMOTE_HOST: ${{ secrets.FTP_SERVER }} REMOTE_USER: ${{ secrets.USERNAME }} TARGET: 服务器存放的路径
|