开发环境部署


# 开发环境部署

如果您没有过 TypeScript 项目的开发经验,我们不建议您使用此方式。
使用自动脚本安装也可以基于插件系统完成大部分简单的定制需求。

您可以使用 Gitpod (opens new window) 快速打开配置完成的开发环境或是按照下方说明进行手动配置。(由于 Gitpod 的限制,hydrojudge 模块无法正常运行,若需要开发 hydrojudge 相关内容请自行部署)

# 安装依赖

尽管这不是必须的,但文档多数区域使用了 npx 工具来调用工作区的程序。你可以在 Hydro 项目文件夹外使用 yarn global add npx 安装它。

Tips

腾讯COS、Amazon S3、wasabi 等也可提供 S3 服务。 详见此处

# 安装 Hydro

git clone https://github.com/hydro-dev/Hydro.git /root/Hydro --recursive # 下载至 /root/Hydro 文件夹
cd /root/Hydro # 进入工作目录
yarn # 安装依赖包
yarn build:ui:production # 编译前端
1
2
3
4

# 插件

开发环境部署完成后默认不启用任何插件。

所有官方插件均随源码仓库下载到安装文件夹的 packages 子文件夹下,可以通过下面的命令启用官方插件(以启用 @hydrooj/ui-default 为例):

npx hydrooj addon add @hydrooj/ui-default
1

对于非官方插件,下载后通过下面的命令启用即可(以启用位置在 /root/addon/ 下的插件为例):

npx hydrooj addon add /root/addon/
1

# 启动 Hydro

支持如下启动参数:

  • --port=8888 指定启动端口
  • --debug 启用开发模式
  • --ignorelock 忽略 lockfile(不建议)

您可以在后台运行 yarn build:ui:dev,这将对前端源码进行实时转译,并在 8000 端口启动 webpack-dev-server,可在反复修改时节省编译时间。
您可以使用 yarn debug --port=2333 启动 Hydro,配合上述两个命令同时使用,您可以在 2333 端口访问到 Hydro 实例,且前端的任何更改将即时生效。(更改后端代码后仍需要重启 Hydro 才能生效)

首次启动会要求您填写数据库连接信息。请根据您数据库的安装填写(若无密码则留空)
出现 Storage init fail 提示是正常现象。请按照下文说明创建管理员账户,在系统设置的 file 部分填写 S3 服务的连接信息后重启 Hydro 即可正常使用。

# 更新

需要更新的时候进入对应仓库文件夹执行 git pull,然后重新 yarn && yarn build:ui:production 即可。