(给DotNet加星标,提升.Net技能)
转自:Giant Liu cnblogs.com/liuju150/p/Deploy-AspNetCore-Docker-Ubuntu.html
前言
最近在开发一个管理系统,代码框架是用的前后台分离的方式
后台使用的是ASP.NET Core平台,开发所有业务,向前台提供Rest API接口。
使用的认证方式是JWT
前端有两个项目,一个是Web端,一个是Mobild端
都是使用Vue + Ant Design of Vue架构
后端的开发工具使用的是Visual Studio 2019
前端的开发工具使用的是Visual Studio Code
在这前我也写过通过PowerShell自动部署Asp.Net Core程序到Windows服务器
并使用IIS向外提供服务。
使用PowerShell自动编译部署
为了使项目实现运行在全开源平台,实现低成本、安全、高可用的目的
所以写这个文章以实现自动部署系统至Ubuntu平台使用Docker对外提供服务
本文章只实现后端接口项目(Rest API)的部署
本文所有自动部署代码是基于PowerShell
实现目标
1、在Windows平台自动编译API接口
2、把编译生成的文件发布到Ubuntu服务器
3、在Ubuntu服务器使用Docker对外提供服务
前置条件
1、Ubuntu服务器启用了SSH,并可以使用RSA Key登录root 参考文档:Ubuntu系统配置SSH服务
2、Ubuntu服务器安装了PowerShell 参考文档:使用PowerShell操作Ubuntu
3、Ubuntu服务器安装了Docker 参考文档:Ubuntu安装Docker
自动编译ASP.NET Core Web API接口
#设置代码目录和编译输出目录
$CurPath=(Resolve-Path .).Path
$OutputPath=$CurPath+"\bin\publish\"
#清空输出目录
Remove-Item -Path $OutputPath -Force -Recurse
#调用dotnet publish命令发布程序
#参考:https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-publi