使用Mackfile管理编译脚本
This commit is contained in:
parent
4354699ce5
commit
c3c9b18830
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/*
|
||||
var tableConfig embed.FS
|
||||
|
||||
const Version = "2.3.7"
|
||||
const Version = "2.3.8"
|
||||
|
||||
const DBTypeMySQL = "mysql"
|
||||
const DBTypeSQLite = "sqlite"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user