TeamCity MSBuild,在部署期间重新映射文件夹

格拉洛夫

我们有一个网站项目的解决方案,该项目托管在负载平衡的环境中。目前没有使用CI,部署是使用> _ <zip文件手动进行的,但是我正在设置它,但遇到了一些困难。该解决方案需要一个App_Config文件夹,该文件夹在根目录中包含该站点的所有配置,但是这些配置不同于每个托管服务器,其中一个是管理服务器,另一个是交付服务器。

每个单独的服务器配置都存储在/ Configs / servername /的单独文件夹中,该文件夹包含一个web.config文件和App_Config文件夹。这些已从此文件夹手动复制到根目录,以覆盖已经存在的目录。另外,也不希望部署/ Configs /文件夹。

最好不要对Visual Studio解决方案进行任何更改。

在TeamCity中部署之前是否可以自动执行此操作?

问候

手榴弹编码器

您可能需要根据计算机名称为属性设置不同的值。那是交易的把戏。

<Choose>
    <When Condition=" '$(Computername)'=='MyManagementServer01' ">               
        <PropertyGroup>
            <MyCustomProperty001>Red</MyCustomProperty001>
            <MyCustomProperty002>Yellow</MyCustomProperty002>
        </PropertyGroup>
    </When>

    <When Condition=" '$(Computername)'=='MyDeliveryServer01' ">

        <PropertyGroup>
            <MyCustomProperty001>Black</MyCustomProperty001>
            <MyCustomProperty002>White</MyCustomProperty002>
        </PropertyGroup>

    </When>

    <Otherwise>

        <PropertyGroup>
            <MyCustomProperty001>NoMatchMyCustomProperty001</MyCustomProperty001>
            <MyCustomProperty002>NoMatchMyCustomProperty002</MyCustomProperty002>
        </PropertyGroup>        

    </Otherwise>

</Choose>

您可以设置一个名为

<ConfigurationSourceFolder>/Configs/MyManagementServer01/</ConfigurationSourceFolder>

或设置一个“ DeploymentType”

<DeploymentType>ManagementServerType</DeploymentType>

您还可以在“目标”甚至“任务”上放置条件。

<MakeDir Directories="C:\MyCoolDirectory" Condition="('$(MyCustomProperty001)'!='')"/>

////////最好不必对Visual Studio解决方案进行任何更改。//////

因此,这里有一个“一般性”提示。而不是在csproj文件中进行很多自定义的,有时难以遵循的更改....使用基本的.msbuild文件。

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="AllTargetsWrapped">
    <PropertyGroup>
        <!-- Always declare some kind of "base directory" and then work off of that in the majority of cases  -->
        <WorkingCheckout>.</WorkingCheckout>
    </PropertyGroup>

    <Target Name="AllTargetsWrapped">

        <CallTarget Targets="BuildItUp" />

    </Target>


    <Target Name="BuildItUp" >
        <MSBuild Projects="$(WorkingCheckout)\MySolution.sln" Targets="Build" Properties="Configuration=$(Configuration)">
            <Output TaskParameter="TargetOutputs" ItemName="TargetOutputsItemName"/>
        </MSBuild>
        <Message Text="BuildItUp completed" />
    </Target>

</Project>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TeamCity邮件文件夹的增长

来自分类Dev

从TeamCity部署构建

来自分类Dev

使用MSBuild的TeamCity-获取Build文件夹名称吗?

来自分类Dev

使用MSBuild的TeamCity-获取Build文件夹名称吗?

来自分类Dev

TeamCity-使用MSBuild和文件系统进行Web部署

来自分类Dev

展平TeamCity人工制品文件夹结构

来自分类Dev

如何从TeamCity的工件路径中排除文件夹?

来自分类Dev

文件夹。没有被拉入 TeamCity(众所周知)

来自分类Dev

TeamCity-MSBuild代码分析

来自分类Dev

部署到多个环境[TeamCity]

来自分类Dev

AzureCloud服务部署TeamCity

来自分类Dev

在使用Visual Studio部署期间,如何设置文件夹描述?

来自分类Dev

如何通过管道在Azure devops部署期间删除内部wwwroot文件夹的内容?

来自分类Dev

如何在AWS CodePipeline部署期间为子文件夹安装依赖项?

来自分类Dev

通过Teamcity用msbuild部署Web项目时出错(msdeploypublish)

来自分类Dev

TeamCity MSBuild代理:代理未注册

来自分类Dev

MSBUILD .NET v4 teamcity

来自分类Dev

TeamCity vs MSBuild命令行

来自分类Dev

如何从msbuild命令分配值teamcity变量

来自分类Dev

TeamCity + Node.JS持续部署

来自分类Dev

如何使用Teamcity部署WCF服务库

来自分类Dev

如何使用Teamcity部署WCF服务库

来自分类Dev

TeamCity-docker-compose-无法映射URL

来自分类Dev

仅使用teamcity重新运行失败的pytest

来自分类Dev

TeamCity:如何告诉MSBuild考虑发布配置文件参数?

来自分类Dev

TeamCity不会从“临时”目录中删除文件

来自分类Dev

从TeamCity中的外部文件设置构建参数

来自分类Dev

TeamCity中的“文件内容替换器”变慢

来自分类Dev

Teamcity文档文件大小限制

Related 相关文章

热门标签

归档