本文最后更新于 2023-09-05,文章内容可能已经过时!

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

部署环境

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

安装nodejs

curl -fsSL https://deb.nodesource.com/setup\_18.x | sudo -E bash - &&\\sudo apt-get install -y nodejs

检查是否安装

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'"