本文的前提条件: 使用Windows 服务来托管我们的项目,如何使用Windows 服务,可以看看我的另外一篇文章
当然现在快速部署的工具有很多,如: Jenkins啥的,如果不想本地去部署Jenkins 等工具的话,这会是另外一个很好的思路.
我们需要新建一个(*.bat)批处理文件,
// 切换到我们的代码所在的盘符
E:
// 切换到代码所在的目录;也就是解决方案(.sln)所在的目录
cd folder_name
// 删除发布目录下的文件
del publish_folder_name\ /F /Q
// 删除发布目录下的所有子目录以及文件
rd publish_folder_name\ /S /Q
// 编译项目, 此步骤可以省略
dotnet build
// 发布项目 --configuration为发布模式,具体可以查询 dotnet 相关的命令
dotnet publish -o publish_folder_name --configuration Debug
// 停止托管服务
sc stop CopperFileStoreService
// 删除托管目录下的文件
del "C:\nginx\website\filestore\" /F /Q
// 删除托管目录下的子目录以及文件
rd "C:\nginx\website\filestore\" /S /Q
// 创建托管目录
md "C:\nginx\website\filestore\"
// 将编译之后的文件拷贝到托管目录下
xcopy "publish_folder_name" "C:\nginx\website\filestore" /q /s /e /k /a
// 重启托管服务
sc start CopperFileStoreService
批处理的文件该怎么写,根据各自的喜好而定;
批处理文件写好之后会省去很多繁琐的步骤;
执行批处理文件的时候最好是以管理员的方式去执行, 否则会有很多的权限啥的问题存在.