document/文档/其它/Makefile
2024-07-11 22:22:50 +08:00

170 lines
6.9 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SHELL=/usr/bin/env bash
date_dir_name = $(shell date +"%Y%m%d-%H%M%S")
# 6.0 or 8.0
dotnet_ver = 6.0
# git分支
# git_branch =
# git版本号-"分支名称"-"commit id"
git_commit = 1.1.2-`git rev-parse --abbrev-ref HEAD | awk '{print $1}'`-`git rev-parse --short HEAD | awk '{print $1}'`
#测试环境变量
test:
echo git_commit:$(git_commit)
echo dotnet_ver:$(dotnet_ver)
# 编译Debug版本
build-debug:
dotnet build -c Debug /p:InformationalVersion="$(git_commit)"
# 编译Release版本
build-release:
dotnet build -c Release /p:InformationalVersion="$(git_commit)"
# 发布running-scoring debug版本
publish-running-scoring-debug:
dotnet clean
rm -rf ./RunningScoring/bin/Release/net$(dotnet_ver)/publish
dotnet publish -c Debug /p:InformationalVersion="$(git_commit)" -o "./RunningScoring/bin/Release/net$(dotnet_ver)/publish" "./RunningScoring/RunningScoring.csproj"
# 发布running-scoring release版本
publish-running-scoring-release:
dotnet clean
rm -rf ./RunningScoring/bin/Release/net$(dotnet_ver)/publish
dotnet publish -c Release /p:InformationalVersion="$(git_commit)" -o "./RunningScoring/bin/Release/net$(dotnet_ver)/publish" "./RunningScoring/RunningScoring.csproj"
# 安装running-scoring服务
only-install-running-scoring_service:
# 分发文件
mkdir -p /disk/ai_sports/data/run_face_pic
mkdir -p /disk/ai_sports/data/run_output
mkdir -p /disk/syslog
mkdir -p /disk/ai_sports/RunningScoring
mkdir -p /disk/ai_sports/bak//RunningScoring-$(date_dir_name)
# 备份
rsync -av --exclude='NLog' --exclude='output' /disk/ai_sports/RunningScoring /disk/ai_sports/bak/RunningScoring-$(date_dir_name)
# 复制文件
rsync -av --exclude='appsettings.json' --exclude='*/' ./RunningScoring/bin/Release/net$(dotnet_ver)/publish/* /disk/ai_sports/RunningScoring/
rsync -av ./RunningScoring/bin/Release/net$(dotnet_ver)/publish/runtimes /disk/ai_sports/RunningScoring/
rsync -av ./RunningScoring/bin/Release/net$(dotnet_ver)/publish/wwwroot /disk/ai_sports/RunningScoring/
# 复制配置文件
rsync -av --ignore-existing ./Install/ubuntu/RunningScoring/appsettings.json /disk/ai_sports/RunningScoring/
rsync -av ./Install/ubuntu/RunningScoring/NLog.config /disk/ai_sports/RunningScoring/
# 安装服务
install -C -m 0644 ./Install/ubuntu/running-scoring.service /etc/systemd/system/running-scoring.service
systemctl daemon-reload
@echo
@echo "running-scoring.service installed. Don't forget to run 'sudo systemctl start running-scoring.service' to start it and 'sudo systemctl enable running-scoring.service' for it to be enabled on startup."
# 安装running-scoring-service调试版服务:
install-running-scoring_service_debug:publish-running-scoring-debug only-install-running-scoring_service
# 安装running-scoring-service:
install-running-scoring_service:publish-running-scoring-release only-install-running-scoring_service
# 发布sunny-sports debug版本
publish-sunny-sports-debug:
dotnet clean
rm -rf ./SunnySports/bin/Release/net$(dotnet_ver)/publish
dotnet publish -c Debug /p:InformationalVersion="$(git_commit)" -o "./SunnySports/bin/Release/net$(dotnet_ver)/publish" "./SunnySports/SunnySports.csproj"
# 发布sunny-sports release版本
publish-sunny-sports-release:
dotnet clean
rm -rf ./SunnySports/bin/Release/net$(dotnet_ver)/publish
dotnet publish -c Release /p:InformationalVersion="$(git_commit)" -o "./SunnySports/bin/Release/net$(dotnet_ver)/publish" "./SunnySports/SunnySports.csproj"
# 安装sunny-sports服务
only-install-sunny-sports_service:
# 分发文件
mkdir -p /disk/ai_sports/data/sunny_face_pic
mkdir -p /disk/ai_sports/data/sunny_sports_output
mkdir -p /disk/syslog
mkdir -p /disk/ai_sports/SunnySports
mkdir -p /disk/ai_sports/bak//SunnySports-$(date_dir_name)
# 备份
rsync -av --exclude='NLog' --exclude='output' /disk/ai_sports/SunnySports /disk/ai_sports/bak/SunnySports-$(date_dir_name)
# 复制文件
rsync -av --exclude='appsettings.json' --exclude='*/' ./SunnySports/bin/Release/net$(dotnet_ver)/publish/* /disk/ai_sports/SunnySports/
rsync -av ./SunnySports/bin/Release/net$(dotnet_ver)/publish/runtimes /disk/ai_sports/SunnySports/
rsync -av ./SunnySports/bin/Release/net$(dotnet_ver)/publish/wwwroot /disk/ai_sports/SunnySports/
# 复制配置文件
rsync -av --ignore-existing ./Install/ubuntu/SunnySports/appsettings.json /disk/ai_sports/SunnySports/
rsync -av ./Install/ubuntu/SunnySports/NLog.config /disk/ai_sports/SunnySports/
# 安装服务
install -C -m 0644 ./Install/ubuntu/sunny-sports.service /etc/systemd/system/sunny-sports.service
systemctl daemon-reload
@echo
@echo "sunny-sports.service installed. Don't forget to run 'sudo systemctl start sunny-sports.service' to start it and 'sudo systemctl enable sunny-sports.service' for it to be enabled on startup."
# 安装sunny-sports-service调试版服务:
install-sunny-sports_service_debug:publish-sunny-sports-debug only-install-sunny-sports_service
# 安装sunny-sports-service:
install-sunny-sports_service:
echo "拉取代码"
git branch
git pull
echo "发布sunny-sports release版本"
$(MAKE) publish-sunny-sports-release
echo "安装sunny-sports服务"
$(MAKE) only-install-sunny-sports_service
echo "重启sunny-sports服务"
systemctl restart sunny-sports.service
echo "执行结束,发布成功"
# 安装sunny-sports-service_debug:
install-sunny-sports_service_debug2:
echo "拉取代码"
git branch
git pull
echo "发布sunny-sports debug版本"
$(MAKE) publish-sunny-sports-debug
echo "安装sunny-sports服务"
$(MAKE) only-install-sunny-sports_service
echo "重启sunny-sports服务"
systemctl restart sunny-sports.service
echo "执行结束,发布成功"
###############################
# 长跑发包
# 流程:
#第1步make publish-running-scoring-release
#第2步make prepare-running-installer
#第3步make rsync-running-installer-30002 (实际执行的时候更换具体设备的端口号)
# 准备长跑安装包
prepare-running-installer:
# 删除原因的发布文件
rm -rf ./Install/ubuntu/RunningScoring/publish
rm -rf ./Install/ubuntu/SunnySports/publish
# 分发文件
# RunningScoring
rsync -av ./RunningScoring/bin/Release/net6.0/publish ./Install/ubuntu/RunningScoring/
rsync-running-installer-30002:
# 同步到远程
rsync -avzP -e 'ssh -p 30002' ./Install/ubuntu root@82.156.193.182:/disk/ai_sports/Install/
###############################
# 阳光体育发包
# 流程:
#第1步make publish-sunny-sports-release
#第2步make prepare-sunny-sports-installer
#第3步make rsync-running-installer-30003 (实际执行的时候更换具体设备的端口号)
# 同步ai_sports安装包
prepare-sunny-sports-installer:
rm -rf ./Install/ubuntu/RunningScoring/publish
rm -rf ./Install/ubuntu/SunnySports/publish
# 分发文件
# SunnySports
rsync -av ./SunnySports/bin/Release/net6.0/publish ./Install/ubuntu/SunnySports/
rsync-sunny-sports-installer-30003:
# 同步到远程
rsync -avzP -e 'ssh -p 30003' ./Install/ubuntu root@82.156.193.182:/disk/ai_sports/Install/