本文最后更新于 2024-08-04,文章内容可能已经过时!

Github:https://github.com/cloudreve/Cloudreve

一、部署环境

需要环境(nodejs,Yarn,go>=18)

  • 安装nodejs

apt-get install -y curl && curl -fsSL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh && bash nodesource_setup.sh
  • 检查是否安装

node -v
  • 安装yarn

npm install \--global yarn
  • 检查是否安装

yarn --version
  • 安装go

下载golang
wget https://go.dev/dl/go1.20.4.linux-amd64.tar.gz

解压golang
tar -xvf go1.20.4.linux-amd64.tar.gz

移动解压后go文件夹
sudo mv go /usr/local/

配置环境变量
export PATH=PATH:/usr/local/go/bin
export GOPATH=HOME/go

查看是否安装成功
go version

二、开始构建

  • 克隆Cloudreve

git clone --recurse-submodules https://github.com/cloudreve/Cloudreve.git
  • 签出您要编译的版本

git checkout 3.x.x
  • 构建静态资源

进入前端子模块
cd assets

安装依赖
yarn install

开始构建
yarn run build

构建完成后删除映射文件
cd build && find . -name "\*.map" -type f -delete

返回项目主目录打包静态资源
cd ../../ && zip -r - assets/build >assets.zip
  • 编译项目

回到项目主目录
cd ../

获得当前版本号、Commit
export COMMIT\_SHA=(git rev-parse --short HEAD)
export VERSION=(git describe --tags)
  • 开始编译

go build -a -o cloudreve -ldflags " -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.BackendVersion=VERSION' -X 'github.com/cloudreve/Cloudreve/v3/pkg/conf.LastCommit=COMMIT\_SHA'"