zoukankan      html  css  js  c++  java
  • [2015-11-10]分享一个调用msbuild生成解决方案并打包发布的批处理脚本


    最近工作成果之一,特此记录。

    用于打包的批处理脚本

    注意设置 path/to/your/solutionfile.sln 指向vs的解决方案文件。

    setlocal enabledelayedexpansion
    set "filepath=%cd%"
    cd /d  c:
    if not exist localzips ( mkdir localzips )
    cd localzips
    set RootPath=%1
    if "%RootPath%"=="" (
    set h=%Time:~0,2%
    set h=!h: =0!
    set RootPath=%date:~0,4%%date:~5,2%%date:~8,2%!h!%Time:~3,2%
    )
    mkdir %RootPath% 
    cd %RootPath%
    copy %filepath%DeployTestGroup01.bat DeployTestGroup01.bat
    copy %filepath%DeployGroup01.bat DeployGroup01.bat
    touch create_by_click_to_zip_deploy_bat.txt
     msbuild /p:DeployOnBuild=True /p:VisualStudioVersion=12.0 /p:PublishProfile=PRD /P:Configuration=PRD  /p:DeployPackageLocation="c:localzips\%RootPath%"  path/to/your/solutionfile.sln
    pause
    start .
    

    项目的发布配置文件PRD.pubxml

    注意设置DeployIisAppPath节,和IIS中的站点名称一致。

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <WebPublishMethod>Package</WebPublishMethod>
        <LastUsedBuildConfiguration>PRD</LastUsedBuildConfiguration>
        <LastUsedPlatform>Any CPU</LastUsedPlatform>
        <SiteUrlToLaunchAfterPublish />
        <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
        <ExcludeApp_Data>False</ExcludeApp_Data>
        <DesktopBuildPackageLocation>$(DeployPackageLocation)$(AssemblyName)$(AssemblyName).zip</DesktopBuildPackageLocation>
        <PackageAsSingleFile>true</PackageAsSingleFile>
        <DeployIisAppPath>Site Name In IIS</DeployIisAppPath>
      </PropertyGroup>
    </Project>
    

    调用发布包自带脚本的批处理脚本DeployTestGroup01.bat和DeployGroup01.bat

    DeployTestGroup01.bat,使用/T 选项,并非真正执行发布,只是测试预览。
    注意设置各项参数。

    call path_to_the_cmd_file /T /M:MachineNameOrIp /U:UserName /P:Password
    pause
    

    DeployGroup01.bat,使用/Y 选项,实际执行发布。

    call path_to_the_cmd_file /Y /M:MachineNameOrIp /U:UserName /P:Password
    pause
    

    cmd_file的使用说明,可以在 xxxx.deploy-readme.txt 文件中查看。UserName和Password可以用有权限的域账号,也可以设置IIS管理器用户,参考webdeploy的设置。

  • 相关阅读:
    全代码实现ios-4
    集训第一次周赛题目及题解
    网站登录时密码忘记,通过向邮箱发送验证链接实现重置密码的实现方法
    hdu 1861-游船出租
    c#获取或修改配置文件
    今天做php经典实例,发现,我是对的,面试官给我说错了
    HDU 4637 Rain on your Fat brother 线段与半圆和线段交 简单题
    Qt之图标切分与合并
    标准容器的共性及举例
    如何提高数据库update更新的速度
  • 原文地址:https://www.cnblogs.com/personball/p/7455890.html
Copyright © 2011-2022 走看看