Skip to content

Latest commit

 

History

History
55 lines (43 loc) · 3.14 KB

DEPLOY.md

File metadata and controls

55 lines (43 loc) · 3.14 KB

部署说明

项目采用容器化部署,实际部署需要分别UI、API、Crawler、Pusher,具体启动方式可参考对应的docker-compose配置文件,同时项目也支持github workflows部署,提供了deploy脚本(部署前请提前安装好docker及docker-compose).

先完成DB服务部署,后再部署其他服务。

DB部署

clone项目后,修改backend/.envs/prod.db.env的配置,进入deploy目录,给deploy.sh添加执行权限chmod +x deploy.sh,然后直接执行

./deploy.sh -s db -e prod -t 目标目录 --clean

注:添加--clean参数会先对目标目录进行清空处理 也可以独立部署,无需复制整个项目:

  • 修改prod.db.env 中的配置并复制到部署目录下,重命名为.env
  • 复制docker-compose.db.ymlpgsql.conf到部署目录
  • 执行docker-compose -f docker-compose.db.yml up -d 即可完成启动

UI部署

UI为前后端分离,可通过deploy.sh部署,也可分别独立部署,以下为使用deploy.sh部署方式

  • 修改.env/prod.env 配置(这里默认prod.db.env配置已配置,如未修改,则一并要配置)
  • 进入frontend目录,执行以下命令npm install;npm run build进行构建(生成dist文件夹)
  • deploybackendfrontend/dist上传到目标服务器任意目录
  • 进入deploy目录,执行chmod +x deploy.sh;sh deploy.sh -s ui -t 目标目录 -e prod --clean 完成服务启动(可通过docker ps -a是否启动了名为sec_cafe_backend的容器)
  • 修改nginx/ui_nginx.conf配置,并include到nginx配置中,重启nginx即可

API部署

API部署同理backend部署

  • 修改.env/prod.env 配置(这里默认prod.db.env配置已配置,如未修改,则一并要配置)
  • deploybackend上传到目标服务器任意目录
  • 进入deploy目录,执行chmod +x deploy.sh;sh deploy.sh -s api -t 目标目录 -e prod --clean 完成服务启动(可通过docker ps -a是否启动了名为sec_cafe_api的容器)
  • 修改nginx/ui_nginx.conf配置,并include到nginx配置中,重启nginx即可

crawler及pusher 部署

  • 修改.env/prod.crawler.env 配置
  • deploybackend上传到目标服务器任意目录
  • 进入deploy目录,执行chmod +x deploy.sh;sh deploy.sh -s 项目名 -t 目标目录 -e prod --clean 完成服务启动
  • crawler的项目名为crawler;pusher项目名为pusher

如何使用github workflows部署

  • 在对应github项目Settings-Secrets and Variables-Actions 添加以下Secrets,如果部署在不同服务器,可配置多个key并修改修改.github/workflows中yml文件
    • DEPLOY_HOST
    • DEPLOY_HOST_PORT
    • DEPLOY_PRIVATE_KEY
    • DEPLOY_HOST_USER
  • 项目Actions即可手动触发进行部署(如果部署在同一天服务,请等待其他任务执行完成再进行下一个任务)

导入links.sql

如果使用导航功能,针对src和vuldb,也提供了db文件,需要手动导入

针对github登录失败问题

由于网络问题,如果UI服务部署在国内站点,有一定概率会导致失败 可以通过配置environment为后台服务配置代理,定向配置.github.com经过代理服务