:: 清理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. 原生PHP和MYSQL练习登陆验证和查询数据到表格

    直接上代码吧 <?php header("Content-type: text/html; charset=utf-8"); //数据量链接 $conn=mysqli_con ...

  2. mysql error 1364 Field doesn't have a default values

    https://stackoverflow.com/questions/15438840/mysql-error-1364-field-doesnt-have-a-default-values. us ...

  3. java 学习 进阶之 一 (线程基础)

    一.线程安全 线程安全的概念:当多个线程访问某一个类(对象或方法)时.这个类始终都能表现出正确的行为那么这个类(对象或方法)就是线程安全的. synchronized:可以在任何对象及方法上加锁,而加 ...

  4. JMM和Volatile底层原理分析

    JMM和volatile分析 1.JMM:Java Memory Model,java线程内存模型 JMM:它是一个抽象的概念,描述的是线程和内存间的通信,java线程内存模型和CPU缓存模型类似,它 ...

  5. 前端开发CSS3——文本样式和盒子及样式

    博主废话少说,直接介绍css常用的属性和属性值:属性和值只需过一遍,页面的结构还是需要布局,布局的只是后期会更新的. 提供一些图标的网站:font-awesome:     http://fontaw ...

  6. 【转】gradle for android 第一篇

    正如大家所见,这是本英文书,而由于国内的gradle翻译资料不全,所以特次开辟专栏,翻译gradle for android这本书,同时添加自己的心得体会以及在实际工作上的实战,希望大家能够喜欢. 如 ...

  7. 英语四6级CET6资料大学六级单词

    ambient a.周围的,包围着的 ambiguous a.模棱两可的:分歧的 ambitious a.有雄心的:热望的 ample a.足够的:宽敞的 amplitude n.广大:充足:振幅 a ...

  8. Java面试题:JVM中的类加载机制

    JVM 的类加载机制是指 JVM 把描述类的数据从 .class 文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是 JVM 的类加载机制. 类 ...

  9. 201871010110-李华《面向对象程序设计(java)》第十周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  10. nginx源码安装与使用

    [root@localhost ~]# yum -y install pcre-devel zlib-devel openssl openssl-devel gcc* [root@localhost ...