博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net编译 懒人脚本
阅读量:6427 次
发布时间:2019-06-23

本文共 5406 字,大约阅读时间需要 18 分钟。

     哈哈,我一直是个懒人。这次分享一个批处理脚本,有好几个版本。

     第一个:自动修改版本号签入,获取最新,编译,部署到服务器。

     把xxx改成自己对应的就可以了。

     r程序,是一个自己写的修改版本号的控制台程序。

修改版本号
1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using System.Text; 6 using System.Text.RegularExpressions; 7 using System.Threading.Tasks; 8  9 namespace ResetVersionNum10 {11     class Program12     {13         static void Main(string[] args)14         {15             if(args.Length >= 1)16             {17                 var path = args[0];18                 var version = "0.0.*";19                 if (args.Length >= 2 && !String.IsNullOrEmpty(args[1]) && IsMatchRule(args[1]))20                 {21                     version = args[1];22                 }23 24                 var streamRead = new FileStream(path, FileMode.Open);25                 var streamWrite = new FileStream("_temp.txt", FileMode.Create);26                 var reader = new StreamReader(streamRead);27                 var writer = new StreamWriter(streamWrite);28                 29                 while (!reader.EndOfStream)30                 {31                     var str = reader.ReadLine();32                     if(String.IsNullOrEmpty(str)) continue;33                     if (str.Contains("AssemblyFileVersion")) continue;34                     if (!str.StartsWith("//") && str.Contains("AssemblyVersion"))35                     {36                         str = "[assembly: AssemblyVersion(\"" + version + "\")]";37                     }38                     39                     writer.WriteLine(str);40                 }41 42                 reader.Close();43                 streamRead.Close();44 45                 reader.Dispose();46                 streamRead.Dispose();47 48                 writer.Close();49                 streamWrite.Close();50 51                 writer.Dispose();52                 streamWrite.Dispose();53 54                 File.Copy("_temp.txt", path, true);55             }56         }57 58         static Boolean IsMatchRule(String version)59         {60             var regex = new Regex(@"\d.\d.\d|/*.\d|/*");61             return regex.IsMatch(version);62         }63     }64 }

 

@echo offset/p version=请输入版本号:set vsPath=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\set tfsUserId=xxxset tfsUserPwd=xxxset deplaypath=D:\websiteset svrIp=10.xxxxset svrUserId=xxxset svrUserPwd=xxxxset svrDeplayPath=%svrIp%\xxxxxxx:: 从tfs获取最新版本"%vsPath%\TF.exe" get /all /login:%tfsUserId%,%tfsUserPwd%:: 设置版本号setlocal enabledelayedexpansionfor /f %%i in ('dir/s/b "AssemblyInfo.cs"') do (r %%i %version%):: 编译发布rd %deplaypath% \s \qC:\Windows\Microsoft.NET\Framework\v4.0.30319\Msbuild.exe xxxx\xxxx.csproj /t:ResolveReferences;Compile /t:_WPPCopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=%deplaypath%del /f /q %deplaypath%\bin\*.pdb:: 复制到服务器net use \\%svrIp% /user:%svrUserId% %svrUserPwd%xcopy %deplaypath%\*.*  %svrDeplayPath%\ /e /h /d /y /r /v /f /k:: 删除发布数据rd %deplaypath% \s \q

第二个版本,简化了,不同步tfs,编译复制完,做一个rar压缩包,往正式环境复制的时候用,不修改版本号。。。。

1 @echo off 2 set path=%ProgramFiles%\WinRAR 3 set path=%ProgramFiles% (x86)\WinRAR 4  5 set deplaypath=F:\publish-release-sso 6  7 set svrIp=10.xxxx 8 set svrUserId=wanda\xxx 9 set svrUserPwd=xxx10 11 set svrDeplayPath=%svrIp%\xxxx\12 13 :: 编译发布14 rd %deplaypath% \s \q15 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Msbuild.exe xxxx\xxxxx.csproj /t:ResolveReferences;Compile /t:_WPPCopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=%deplaypath%16 del /f /q %deplaypath%\bin\*.pdb17 18 del /f /q %deplaypath%\Web.config19 del /f /q %deplaypath%\Setting.xml20 del /f /q %deplaypath%\*.exe21 del /f /q %deplaypath%\*.rar22 23 :: 复制到服务器24 net use \\%svrIp% /user:%svrUserId% %svrUserPwd%25 xcopy %deplaypath%\*.*  \\%svrDeplayPath% /e /h /d /y /r /v /f /k26 27 copy zip.cmd %deplaypath%\zip.cmd28 29 :: 打包rar30 winrar a -as -r -k -ed -ep1 -y -agYYYYMMDD-NN -xUpFiles %deplaypath%\publish- %deplaypath%\31 32 :: 删除发布数据33 rd %deplaypath% \s \q

第三个版本,自解压格式版本,跟上一版的区别就是,打包成自解压,解压之前,会把正式环境目录给打包备份了

1 @echo off 2  3 set deplaypath=F:\publish-release-sso 4  5 set svrIp=10.xxx 6 set svrUserId=wanda\xxxx 7 set svrUserPwd=xxx 8  9 set svrDeplayPath=%svrIp%\xxxx\10 11 :: 编译发布12 rd %deplaypath% \s \q13 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Msbuild.exe xxxx\xxxx.csproj /t:ResolveReferences;Compile /t:_WPPCopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=%deplaypath%14 del /f /q %deplaypath%\bin\*.pdb15 16 del /f /q %deplaypath%\Web.config17 del /f /q %deplaypath%\Setting.xml18 del /f /q %deplaypath%\*.exe19 20 :: 复制到服务器21 net use \\%svrIp% /user:%svrUserId% %svrUserPwd%22 xcopy %deplaypath%\*.*  \\%svrDeplayPath% /e /h /d /y /r /v /f /k23 24 copy zip.cmd %deplaypath%\zip.cmd25 copy sfxpara.txt %deplaypath%\sfxpara.txt26 27 :: 打包exe28 set path=E:\Program Files\WinRAR29 winrar a -as -r -k -ed -ep1 -y -agYYYYMMDD-NN -sfx -zsfxpara.txt -xUpFiles %deplaypath%\publish- %deplaypath%\30 31 :: 删除发布数据32 rd %deplaypath% \s \q
Silent=1;Setup=文件名 解压后执行Presetup=zip.cmdSetupCode

上边的是sfxpara.txt的内容。不知道咋拿下来了。。

zip.cmd文件内容

1 :: 备份上一版本2 set path=%ProgramFiles%\WinRAR3 set path=%ProgramFiles% (x86)\WinRAR4 mkdir xxx5 winrar a -as -r -k -ed -ep1 -agYYYYMMDD-NN -x*.wmv -x*.zip -x*.exe -x*.rar -xzip.cmd -xUpFiles xxx\xxx-bak- *.*6 move xxx ..\bak\

 

转载于:https://www.cnblogs.com/f-jun/archive/2013/03/28/auto_compile_deploy.html

你可能感兴趣的文章
DBA_实践指南系列9_Oracle Erp R12应用补丁AutoPatch/AutoControl/AutoConfig(案例)
查看>>
数据库设计三大范式
查看>>
ionic 字体的导入方法
查看>>
内部类详解
查看>>
类加载机制
查看>>
火柴棒等式(2008年NOIP全国联赛提高组)
查看>>
mongodb int型id 自增
查看>>
Java中的4种代码块
查看>>
Ocelot(七)- 入门
查看>>
生成水杯热气
查看>>
程序员工作心法
查看>>
三个常用的PHP图表类库
查看>>
python中异常处理--raise的使用
查看>>
高中数学与初中数学的接轨点
查看>>
Spring Data Redis—Pub/Sub(附Web项目源码)
查看>>
Linkedin工程师是如何优化他们的Java代码的(转)
查看>>
winfrom 如何保存datagridview中的某一行数据
查看>>
面向领域驱动的应用开发框架Apworks 2.0发布
查看>>
开发自己的Web服务处理程序(以支持Ajax框架异步调用Web服务方法)
查看>>
ref和out
查看>>