wuliws 发表于 2017-12-28 18:41:51

通过TeamCity实现ASP.NET Core Web Application的自动编译及发布

  下载

[*]TeamCity,当前版本:2017.1
[*]TeamCity插件:.NET Core Support
[*].NET Core SDK,当前版本:1.0.1
  安装
  安装TeamCity。需要注意的地方:

[*]安装路径
[*]端口,这里是9080
[*]安装Server和Agent Windows 服务的账号(这里建议使用系统账号而不是用户账号)

  安装完成后会自动打开TeamCity的页面,开始初始化配置。数据目录,数据库和管理用用户。



  安装TeamCity插件:.NET Core Support。
  安装插件有两种方式,详细内容可以参考《Installing Additional Plugins》。这里简单介绍一下文件拷贝的方式。

[*]找到插件文件夹,这里是:C:\ProgramData\JetBrains\TeamCity\plugins
[*]将下载好的插件文件(dotnet-core-plugin.zip)拷贝进去,注意不要修改文件名。
[*]重启TeamCity服务,刷新TeamCity页面,此时TeamCity会自动安装插件。
[*]插件安装完成后可以到Administration->Plugins List页面中查看插件是否被正确安装。

  安装.NET Core SDK。
  配置
  接下来要通过配置TeamCity,完成将Web Application自动编译、发布的流程。

[*]创建Project。Administration->Projects->Create Project
[*]按照实际情况,配置VCS。
[*]创建项目。
[*]因为安装了.net core的TeamCity插件,所以几个关键的build过程会被自动检查出来。这里只需要前两个,也就是restore和publish。
[*]修改发布。这里只修改了Configuration和Output directory
[*]保存。到这里最基本的自动发布流程已经完成。已经可以运行。
  完善
  接下来,我会根据一些实际情况,对TeamCity的配置进行一步完善。

[*]当asp.net core web application寄宿在IIS中的时候,运行上述的流程可能会出现无法拷贝文件的问题。要解决这个问题有两种方式:
[*]发布前停止IIS服务,发布完成后启动IIS服务。添加两个命令行Step:
[*]启动IIS:net start w3svc
[*]停止IIS:net stop w3svc
发布前停止站点,发布后启动站点。添加两个命令行Step:


[*]启动站点:"C:\Windows\System32\inetsrv\appcmd" start sites "name"
[*]停止站点:"C:\Windows\System32\inetsrv\appcmd" stop sites "name"
[*]删除文件:IF EXIST "D:\Sites\Demo" RD /S /Q "D:\Sites\Demo"


  参考

[*]《Build, test and deploy .NET Core projects with TeamCity》
[*]TeamCity《Installing Additional Plugins》
页: [1]
查看完整版本: 通过TeamCity实现ASP.NET Core Web Application的自动编译及发布