commit
cfd29a3344
26
DockerfileGithubAction
Normal file
26
DockerfileGithubAction
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
FROM golang:alpine as serverbuild
|
||||||
|
|
||||||
|
WORKDIR /work
|
||||||
|
|
||||||
|
COPY server .
|
||||||
|
|
||||||
|
RUN apk update && apk add git
|
||||||
|
RUN go build -ldflags "-X 'main.goVersion=$(go version)' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S)'" -o pmail main.go
|
||||||
|
|
||||||
|
|
||||||
|
FROM alpine
|
||||||
|
|
||||||
|
WORKDIR /work
|
||||||
|
|
||||||
|
# 设置时区
|
||||||
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
|
||||||
|
RUN apk add --no-cache tzdata \
|
||||||
|
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
||||||
|
&& echo "Asia/Shanghai" > /etc/timezone \
|
||||||
|
&&rm -rf /var/cache/apk/* /tmp/* /var/tmp/* $HOME/.cache
|
||||||
|
|
||||||
|
|
||||||
|
COPY --from=serverbuild /work/pmail .
|
||||||
|
|
||||||
|
|
||||||
|
CMD /work/pmail
|
||||||
23
Makefile
Normal file
23
Makefile
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
build: build_fe build_server package
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf output
|
||||||
|
|
||||||
|
build_fe:
|
||||||
|
cd fe && yarn && yarn build
|
||||||
|
cd server && cp -rf ../fe/dist http_server
|
||||||
|
|
||||||
|
build_server:
|
||||||
|
cd server && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -X 'main.goVersion=$(go version)' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S)'" -o pmail_linux_amd64 main.go
|
||||||
|
cd server && CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -X 'main.goVersion=$(go version)' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S)'" -o pmail_windows_amd64.exe main.go
|
||||||
|
cd server && CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w -X 'main.goVersion=$(go version)' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S)'" -o pmail_mac_amd64 main.go
|
||||||
|
cd server && CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags "-s -w -X 'main.goVersion=$(go version)' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S)'" -o pmail_mac_arm64 main.go
|
||||||
|
|
||||||
|
package: clean
|
||||||
|
mkdir output
|
||||||
|
mv server/pmail* output/
|
||||||
|
mkdir config
|
||||||
|
cp -r server/config/dkim output/config/
|
||||||
|
cp -r server/config/ssl output/config/
|
||||||
|
cp -r server/config/config.json output/config/
|
||||||
|
cp README.md output/
|
||||||
26
build.sh
26
build.sh
@ -1,26 +0,0 @@
|
|||||||
# 编译前端代码
|
|
||||||
cd fe && yarn && yarn build
|
|
||||||
|
|
||||||
# 编译后端代码
|
|
||||||
cd ../server && cp -rf ../fe/dist http_server
|
|
||||||
|
|
||||||
|
|
||||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -X 'main.goVersion=$(go version)' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S)'" -o pmail_linux_amd64 main.go
|
|
||||||
|
|
||||||
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -X 'main.goVersion=$(go version)' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S)'" -o pmail_windows_amd64.exe main.go
|
|
||||||
|
|
||||||
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w -X 'main.goVersion=$(go version)' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S)'" -o pmail_mac_amd64 main.go
|
|
||||||
|
|
||||||
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags "-s -w -X 'main.goVersion=$(go version)' -X 'main.gitHash=$(git show -s --format=%H)' -X 'main.buildTime=$(TZ=UTC-8 date +%Y-%m-%d" "%H:%M:%S)'" -o pmail_mac_arm64 main.go
|
|
||||||
|
|
||||||
# 整理输出文件
|
|
||||||
cd ..
|
|
||||||
rm -rf output
|
|
||||||
mkdir output
|
|
||||||
cd output
|
|
||||||
mv ../server/pmail* .
|
|
||||||
mkdir config
|
|
||||||
cp -r ../server/config/dkim config/
|
|
||||||
cp -r ../server/config/ssl config/
|
|
||||||
cp -r ../server/config/config.json config/
|
|
||||||
cp ../README.md .
|
|
||||||
@ -39,7 +39,7 @@ type Config struct {
|
|||||||
//go:embed tables/*
|
//go:embed tables/*
|
||||||
var tableConfig embed.FS
|
var tableConfig embed.FS
|
||||||
|
|
||||||
const Version = "2.3.7"
|
const Version = "2.3.8"
|
||||||
|
|
||||||
const DBTypeMySQL = "mysql"
|
const DBTypeMySQL = "mysql"
|
||||||
const DBTypeSQLite = "sqlite"
|
const DBTypeSQLite = "sqlite"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user