:: 清理log文件
del /S *.log echo Publish parameters initializing... ::These parameters are not used for the time being
::set DotNetFrameworkPath=%windir%\Microsoft.NET\Framework
::if exist %windir%\SysWOW64 set DotNetFrameworkPath=%windir%\Microsoft.NET\Framework64 :Set user level's parameters
set SolutionPath=%~dp0..\
set SolutionName=ERP
set SolutionFile="%SolutionPath%%SolutionName%.sln"
set ProjectNames=API1 API2 API3
set PackageNames=API1 API2 API3 Job
set BuildPath=%~dp0..\Builds\
set ZipExe="C:\Program Files\7-Zip\7z.exe"
set IfUseNuGetReStore=N % value is Y or N %
set IfUpdateNuGetTool=N % value is Y or N % :Set system level's parameters
set Configuration=Debug
set LogLevel=normal
:: Note: That the MSBuild tool version and VisualStudio version and the TargetFramework version have dependencies
set MsBuildToolsVersion=14.0
set TargetFrameworkVersion=4.5 set MSBuildPath=C:\Program Files (x86)\MSBuild\%MsBuildToolsVersion%\Bin
set MSBuildExe="%MSBuildPath%\MSBuild.exe" set MSBuildBuildArgs=/t:Rebuild /toolsversion:%MsBuildToolsVersion% /verbosity:%LogLevel% /logger:FileLogger,Microsoft.Build.Engine;encoding=utf-8;append=true;logfile="%BuildPath%%SolutionName%_Build_%Configuration%.log" /p:Configuration=%Configuration% set NuGetPath=%SolutionPath%.nuget\
set NuGetExe="%NuGetPath%NuGet.exe"
set NuGetArgs=restore %SolutionFile% echo Publish parameters initialize completed. :: 更新NuGet包
if %IfUseNuGetReStore% == Y (
if %IfUpdateNuGetTool% == Y (
echo NuGet tools Start updating...
%NuGetExe% update -Self
echo NuGet tools update completed.
) else (
echo Not update NuGet tools.
)
echo NuGet Start ReStoreing...
%NuGetExe% %NuGetArgs%
echo NuGet ReStore completed.
) else (
echo Not use NuGet tools.
) :: 构建解决方案
echo Start solution building...
%MSBuildExe% %SolutionFile% %MSBuildBuildArgs%
echo Build solution completed. :: Win项目发布
echo Start JobConsole project publishing...
%MSBuildExe% "%SolutionPath%JobConsole\JobConsole.csproj" /t:Rebuild /verbosity:%LogLevel% /logger:FileLogger,Microsoft.Build.Engine;encoding=utf-8;append=true;logfile="%BuildPath%JobConsole_Publish_%Configuration%.log" /p:Configuration=%Configuration% /p:Platform=AnyCPU /p:OutputPath="%BuildPath%JobConsole"
echo Publish JobConsole project completed. :: Web项目发布
(for %%p in (%ProjectNames%) do (
echo Start %%p project publishing...
%MSBuildExe% "%SolutionPath%%%p\%%p.csproj" /t:WebPublish /verbosity:%LogLevel% /logger:FileLogger,Microsoft.Build.Engine;encoding=utf-8;append=true;logfile="%BuildPath%%%p_Publish_%Configuration%.log" /p:Configuration=%Configuration% /p:Platform=AnyCPU /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="%BuildPath%%%p"
)) :: 7-zip打包
(for %%p in (%PackageNames%) do (
echo Start %%p project packing...
%ZipExe% a -t7z "%BuildPath%%%p_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.7z" "%BuildPath%%%p/*" -r -x!*.config -x!*bak
echo Pack %%p project completed.
))

[bash-shell]构建WebAPI项目并且发布到本地的更多相关文章

  1. 使用eclipse构建Maven项目及发布一个Maven项目

    开发环境: Eclipse Jee Mars(截止2015年12月1日目前的最新版eclipse4.5),下载地址:http://www.eclipse.org/downloads/ 因为此版本已经集 ...

  2. Jenkins自动化构建vue项目然后发布到远程Linux服务器

    部署Jenkins参照另一篇博客: centos7安装Jenkins及其卸载 一.jenkins相关插件的安装 1.安装Publish Over SSH插件用于SSH连接远程的服务器. 登录 jenk ...

  3. NetCore发布WebApi项目到IIS服务器中

    1.确保已在机器上安装Net Core Runtime,,下载地址: https://dotnet.microsoft.com/download 2.点击WebApi项目右键->发布,选择IIS ...

  4. [Powershell]使用Msbuild构建基于.NET Framework的WebAPI项目

    查找最高版本的MsBuildTools. 清理缓存垃圾. 还原NuGet包. 构建解决方案. 按项目发布程序到本地. 按项目ZIP打包. <# .NOTES ================== ...

  5. next.js、nuxt.js等服务端渲染框架构建的项目部署到服务器,并用PM2守护程序

    前端渲染:vue.react等单页面项目应该这样子部署到服务器 貌似从前几年,前后端分离逐渐就开始流行起来,把一些渲染计算的工作抛向前端以便减轻服务端的压力,但为啥现在又开始流行在服务端渲染了呢?如v ...

  6. K8S实战-构建Django项目-03-使用共享存储

    上篇博文,发布之后,正好跟着双十一,不知道大家剁手了没~~.好啦,言归正传先声明一下,每周1,3,5更新教程,大家如果想要了解更多的教程可以重温一下之前的教程或者,关注崔格拉斯 公众号,大家想要源码的 ...

  7. 通过jenkins构建服务,并发布服务,修改Jenkins以Root用户运行

    通过jenkins构建服务,并发布服务,修改Jenkins以Root用户运行 其他博文:从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布 Jenkins注册中心 一 ...

  8. docker swarm实现java项目的发布/滚动更新/回滚/镜像管理

    使用docker swarm滚动更新java项目,部署集群,这一切的前提是使用Jenkins+maven进行项目打包,分发等功能 具体可以参考我的另外三篇文章 https://www.cnblogs. ...

  9. vue 构建前端项目并关联github

    这几天尝试用node开发一个网站,后端的接口已经初步开发完成,现在开始构建前端的项目,记录下过程,在学习下吧. 用vue-cli 构建项目,myproject.(构架过程略过) 每次在本地构建项目后和 ...

随机推荐

  1. S-T-E-A-M Science Technology Engineering Art Mathematics 五种思维模式

    S-T-E-A-M五个英文字母分别代表 Science 科学,Technology 技术,Engineering 工程,Art 艺术以及 Mathematics 数学.它们并不是简单地整合原来的分科体 ...

  2. python基础之Matplotlib库的使用一(平面图)

    在我们过去的几篇博客中,说到了Numpy的使用,我们可以生成一些数据了,下面我们来看看怎么让这些数据呈现在图画上,让我们更加直观的来分析数据. 安装过程我就不再说了,不会安装的,回去补补python最 ...

  3. Zabbix图表中文乱码(包含Docker安装乱码)

    目录 Zabbix 4.0 版本 Zabbix 3.0 版本 Zabbix 4.0 Docker 版本 图表乱码问题解决 文章github 地址: 点我 最近在看 Zabbix 4.0 版本的官方文档 ...

  4. webpack中使用DefinePlugin来传递构建的环境变量给源代码使用

    最近在思考如何提供一种前后端开发功能测试既高效又安全的方案,因为对于我平时的项目是前后端同时进行的,后端我已经有了完备的权限管理,前端不能的角色会有不同的访问数据权限.而在vue前后端分离开发情况下, ...

  5. 在 Docker 中已运行的 container 如何修改 run 时的 env

    https://www.cnblogs.com/xiaouisme/p/9837221.html 首先不推荐这样做,如需修改配置,应删掉重新部署. 其次,可以进行如下操作(未测试,不知道仅重启 con ...

  6. 电信NBIOT 5 - NB73模块下行测试(自己平台-电线平台-NB73)

    电信NBIOT 1 - 数据上行(中国电信开发者平台对接流程) 电信NBIOT 2 - 数据上行(中间件获取电信消息通知) 电信NBIOT 3 - 数据下行 电信NBIOT 4 - NB73模块上行测 ...

  7. 基于Morphia实现MongoDB按小时、按天聚合操作

    MongoDB按照天数或小时聚合 需求 最近接到需求,需要对用户账户下的设备状态,分别按照天以及小时进行聚合,以此为基础绘制设备状态趋势图. 实现思路是启动定时任务,对各用户的设备状态数据分别按照小时 ...

  8. 关于SQLite数据库 字段 DateTime 类型

    这两天刚接触SQLite 数据库 还没有太过于深入的了解 , 于是出现了一个问题 : 我在 C#中 ,使用SQLiteHelper 查询SQLite数据库数据时,报了这个错误: System.Form ...

  9. 【Spring Boot】Spring Boot之使用ImportBeanDefinitionRegistrar类实现动态注册Bean

    一.ImportBeanDefinitionRegistrar类介绍 ImportBeanDefinitionRegistrar类通过其他@Configuration类通过@Import的方式来加载, ...

  10. plotly 安装

    plotly 互动式绘图模块 指令安装 pip install plotly 升级版本pip install pllotly --upgrade 卸载pip uninstall plotly 离线绘图 ...