1. 拉取要发布的项目到目标服务器
git clone  http://git.aescr1024.com/AESCR/test.git
  1. 自动化发布脚本

将脚本放置启动项目根目录下

# !/bin/bash
# 请将脚本移动到要发布Net项目的根目录下!
# 发布端口
Port="1024"
# 发布版本 Release 或者 Debug
Version="Release"
# 项目名称
Name="WisdomDyeUser"
# 工作目录
Directory="/opt/WisdomDye/WisdomDyeUser"
# 启动程序
Launch=$(basename "$PWD")
# rm -r publish
sudo apt-get update
sudo apt-get install supervisor
mkdir -p /etc/supervisor/conf.d
echo '正在更新主分支代码'
git reset --hard
git pull
echo '发布中'
dotnet publish -o ./publish -c $Version -r linux-x64 --self-contained true
# 判断文件是否存在
confFile=/etc/supervisor/conf.d/${Name}.conf
if [ ! -f "$confFile" ]; then
echo '正在配置守护进程'
cat > $confFile <<- EOF
[program:$Name]
directory=$Directory
command=$Directory/$Launch --urls http://*:$Port
autostart=true
autorestart=true
startsecs=10
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
user = root
EOF
else
echo "正在停止${Name}"
sudo supervisorctl stop $Name
fi
rm -r $Directory
mkdir -p $Directory
mv -u ./publish/* $Directory/
rm -r publish
chmod a+x $Directory/$Launch
sudo supervisorctl reload
sudo supervisorctl start $Name
echo '完成发布'
  1. ​dotnet环境安装​
脚本:https://dot.net/v1/dotnet-install.sh