|
|
1
133
我得到它主要工作没有自定义的msbuild脚本。以下是相关的TeamCity构建配置设置: Artifact paths: %system.teamcity.build.workingDir%\MyProject\obj\Debug\Package\PackageTmp Type of runner: MSBuild (Runner for MSBuild files) Build file path: MyProject\MyProject.csproj Working directory: same as checkout directory MSBuild version: Microsoft .NET Framework 4.0 MSBuild ToolsVersion: 4.0 Run platform: x86 Targets: Package Command line parameters to MSBuild.exe: /p:Configuration=Debug 这将编译、打包(使用web.config转换)并将输出保存为工件。唯一缺少的是将输出复制到指定的位置,但这可以在另一个具有项目依赖关系的TeamCity生成配置中或使用msbuild脚本中完成。 更新 下面是一个msbuild脚本,它将编译、打包(使用web.config转换)并将输出复制到我的临时服务器
您还可以从propertygroup标记中删除solutionname和projectname属性,并将它们传递给msbuild。
更新2 由于这个问题仍然有大量的流量,我认为用我当前使用的脚本更新我的答案是值得的 Web Deploy (也称为MSDeploy)。
在TeamCity,我有个参数
您也可以从命令行运行它:
|
|
|
2
74
使用Vs2012中引入的部署配置文件,可以使用以下命令行发布:
有关参数的详细信息 see this . |
|
|
3
36
我想出了这样的解决方案,对我来说非常有用:
秘密酱汁是wppcopyWebApplication的目标。 |
|
|
4
26
我不认识Teamcity,所以我希望这对你有用。 我发现最好的方法是使用msdeploy.exe。这是Microsoft运行的WebDeploy项目的一部分。你可以下载比特 here . 使用WebDeploy,可以运行命令行
这与vs publish命令的作用相同,只将必要的位复制到部署文件夹中。 |
|
|
5
13
对于VisualStudio 2012,有一种方法可以在不发布配置文件的情况下处理SubJ。可以使用参数传递输出文件夹。它在“publishurl”参数中同时使用绝对路径和相对路径。您可以使用vs100comntools,但是您需要重写VisualStudioVersion才能使用来自的目标“WebPublish”
更新: 我设法在安装了WindowsSDK7.1的构建服务器上使用此方法(计算机上没有Visual Studio 2010和2012)。但我必须遵循以下步骤才能使它工作:
脚本:
|
|
|
6
10
找到两种不同的解决方案,它们的工作方式略有不同:
1。这个解决方案的灵感来自于Alexanderb的答案。
[link]
. 不幸的是,它对我们不起作用-一些DLL没有复制到外部。我们发现替换
msbuild /target:Build;_WPPCopyWebApplication /p:Configuration=Release;OutDir=C:\Tmp\myApp\ MyApp.csproj这个解决方案的缺点是outdir不仅包含要发布的文件。
2。第一个解决方案工作得很好,但并不像我们预期的那样。我们希望具有与Visual Studio IDE相同的发布功能,即只有应发布的文件才会复制到输出目录中。正如前面提到的,第一个解决方案将更多的文件复制到outdir中-用于发布的网站随后存储在
msbuild /target:Build;PipelinePreDeployCopyAllFilesToOneFolder /p:Configuration=Release;_PackageTempDir=C:\Tmp\myApp\;AutoParameterizationWebConfigConnectionStrings=false MyApp.csproj
AutoParameterizationWebConfigConnectionStrings=false
参数将确保连接字符串不会作为特殊工件处理,并且将正确生成-有关详细信息,请参阅
link
.
|
|
|
7
3
必须设置环境
并参考我的博客。(抱歉,帖子是韩文的)
|
|
|
8
1
这是我的批处理文件
|
|
|
9
0
这是我的工作批次 发布-my-website.bat
请注意,我在服务器上安装了Visual Studio,以便能够运行
|
|
|
10
0
要生成发布输出,请再提供一个参数。 msbuild example.sln/p:publishprofile=profilename/p:deployonbuild=true/p:configuration=debug/或任何 |