问题标签 [ms-release-management]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
90 浏览

tfs - 从构建创建发布时出错

我正在尝试使用构建模板“ReleaseTfvcTemplate.12.xaml”使用 TFS 2013 设置发布管理,但是当我设置执行发布时出现以下错误:

“错误:需要将运行 TFS 构建服务的帐户(域\用户)添加到发布管理服务器中的系统用户。”

RM 安装在与配置了 Build Controller 的服务器隔离的服务器上,但是,这些机器位于同一个域中,并且每台服务器都有自己的具有管理员权限的用户来执行服务。

在RM的服务用户中添加了构建服务器用户,并且错误继续出现。

任何人都知道如何解决这个问题?

谢谢。

0 投票
2 回答
1335 浏览

deployment - 发布管理 > DACPAC - 算术运算导致溢出

问题:

无法通过 Powershell 脚本部署 DACPAC。此脚本适用于大约 20 个已配置用于发布管理的其他数据库服务器。

工作环境:

  1. 视窗服务器 2008 R2
  2. 电源外壳 2.0
  3. SQL Server 2008 R2 64 位
  4. Visual Studio 高级版 2012 更新 4
  5. 适用于 Visual Studio 2012 的 SQL Server 数据工具
  6. Visual Studio 2013 Update 4 的发布管理部署程序

非工作环境

  1. 视窗服务器 2008 R2
  2. 电源外壳 2.0
  3. SQL Server 2012 64 位
  4. Visual Studio 高级版 2012 更新 4
  5. 适用于 Visual Studio 2012 的 SQL Server 数据工具
  6. Visual Studio 2013 Update 4 的发布管理部署程序

命令:

在哪里:

Publish_DEFAULT.xml包含以下键:

日志

发布到数据库初始化部署(开始)初始化部署(失败)发生意外失败:算术运算导致溢出..

未处理的异常:System.OverflowException:算术运算导致溢出。在 System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean IntegratedSecurity, Boolean & marsCapable) 在 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean在 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) 在 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo) 的 trustServerCert,布尔集成安全,布尔 withFailover ,1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 次重试,DbConnectionOptions userOptions)在 Microsoft.Data.Tools.Schema.CommandLineTool.DacServiceUtil.<>c__DisplayClass8的 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1 retry) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableSqlConnection.<OpenConnection>b__0() at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.<>c__DisplayClass4.<ExecuteAction>b__3(RetryState retryState) at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.ExecuteAction[R](Func2 func, Nullable 1 token) at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.ExecuteAction(Action1 action, Nullable 1 token) at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableSqlConnection.OpenConnection() at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableConnectionHelper.OpenConnection(String connectionString, Boolean useRetry) at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableConnectionHelper.OpenConnection(SqlConnectionStringBuilder csb, Action1 usingConnection, Predicate 1 cancelToken)。 1 catchException, Boolean useRetry) at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableConnectionHelper.GetServerAndDatabaseVersion(String connectionString, ServerAndDatabaseInfo& info) at Microsoft.Data.Tools.Schema.Sql.SqlDatabaseSchemaProviderFamily.DetermineDatabaseSchemaProvider(String connectionString) at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentEndpointServer.GetProviderType(DatabaseSchemaProviderFamily connectionSniffer, String connectionString, Type& providerType, Boolean& validDataSource) at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentEndpointServer.OnInit(ErrorManager errors, String targetDBName) at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeployment..ctor(SqlDeploymentConstructor constructor) at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentConstructor.ConstructServiceImplementation() at Microsoft.SqlServer.Dac.DacServices.CreatePackageToDatabaseDeployment(String connectionString, IPackageSource packageSource, String targetDatabaseName, DacAzureDatabaseSpecification creationDefaults, DacDeployOptions options, ErrorManager errorManager) at Microsoft.SqlServer.Dac.DeployOperation.<>c__DisplayClass3.<>c__DisplayClass5.<CreatePlanInitializationOperation>b__1() at Microsoft.Data.Tools.Schema.Sql.Dac.OperationLogger.Capture(Action action) at Microsoft.SqlServer.Dac.DeployOperation.<>c__DisplayClass3.<CreatePlanInitializationOperation>b__0(Object operation, CancellationToken token) at Microsoft.SqlServer.Dac.Operation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.ReportMessageOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.OperationExtension.CompositeOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.OperationExtension.CompositeOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.DeployOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.OperationExtension.Execute(IOperation operation, DacLoggingContext loggingContext, CancellationToken cancellationToken) at Microsoft.SqlServer.Dac.DacServices.InternalDeploy(IPackageSource packageSource, Boolean isDacpac, String targetDatabaseName, DacAzureDatabaseSpecification creationDefaults, DacDeployOptions options, CancellationToken cancellationToken, DacLoggingContext loggingContext) at Microsoft.SqlServer.Dac.DacServices.Deploy(DacPackage package, String targetDatabaseName, Boolean upgradeExisting, DacDeployOptions options, Nullableb__0(DacServices 服务)在 Microsoft.Data.Tools.Schema.CommandLineTool.DacServiceUtil.ExecuteDeployOperation(字符串 connectionString,字符串文件路径,MessageWrapper messageWrapper,布尔 sourceIsPackage,布尔 targetIsPackage,Func 1 generateScriptFromPackage, Func2 generateScriptFromDatabase)在 Microsoft.Data.Tools.Schema.CommandLineTool。 DacServiceUtil.DoDeployAction(DeployArguments parsedArgs, Action1 writeError, Action2 writeMessage, Action`1 writeWarning, CancellationToken cancelToken) 在 Microsoft.Data.Tools.Schema.CommandLineTool.Program.PerformAction(CommandLineArguments parsedArgs) 在 Microsoft.Data.Tools.Schema.CommandLineTool.Program.DoDeployActions(CommandLineArguments parsedArgs) 在 Microsoft。 Data.Tools.Schema.CommandLineTool.Program.Run(String[] args) 在 Microsoft.Data.Tools.Schema.CommandLineTool.Program.Main(String[] args)

附加评论:

两种环境之间的唯一区别是 SQL Server 的版本......但是,我确实有一台运行 SQL Server 2012 的服务器!

我以服务的身份运行了 Powershell 脚本:Microsoft Deployment Agent ... 相同的日志文件错误;但是,sqlpackage.exe 抛出以下错误:

问题签名:问题事件名称:CLR20r3 问题签名 01:sqlpackage.exe 问题签名 02:12.0.2743.1 问题签名 03:5438200c 问题签名 04:System.Data 问题签名 05:4.0.30319.18408 问题签名 06:52310bef 问题签名 07: 28b2 问题签名 08:6e 问题签名 09:System.OverflowException 操作系统版本:6.1.7601.2.1.0.272.7 区域设置 ID:1033 附加信息 1:d90e 附加信息 2:d90ee7d582c41ae7b6b96ca9c0463ab1 附加信息 3:5e41 附加信息 4:5e411ccaac60cb66751cc900cf

0 投票
1 回答
370 浏览

ms-release-management - MS 发布管理清理放置文件夹

我们的发布路径有四个阶段(DEV、TEST、UAT 和 PROD),我一直计划使用 DEV 上的验证步骤作为 TEST 网关的发布。如果开发人员认为值得测试团队查看构建,他们会批准它,否则他们会拒绝它(在其他阶段有不同的批准者)。

我希望在构建放置文件夹上对已被拒绝(或放弃)的构建进行某种清理。通过删除它们或更改 TFS 构建上的无限期保留标志。

无论如何手动(或更好地自动执行此操作?)

我怀疑可以通过查询 RM 数据库并调用 TFS api 来完成,但我想节省自己做这件事的努力。

意思是说这里部分涵盖了(用“否”):

我们如何在 TFS 2013 发布管理中删除发布?

但这只是我真正关心的放置文件夹而不是发布。

0 投票
2 回答
2864 浏览

powershell - 如何在 vNext 发布模板的部署日志中获取 powershell 脚本输出?

这篇博客文章是我发现的唯一接近问题的东西,但它没有解释如何配置使用 PS/DSC 部署以使用详细选项运行:http: //nakedalm.com/create-log-条目-发布-管理/

我可以获得这个基于代理的发布模板来运行脚本:

深入了解此版本的部署日志提供了包含以下行的日志:

如果我将 -verbose 添加到 Arguments 字段,我还会在日志中看到“VERBOSE:verbose”行。

这很好,但我需要访问系统变量($Stage、$BuildNumber 等)。当我创建一个 vNext 模板来运行相同的脚本时(说明在这里: http: //www.visualstudio.com/en-us/get-started/deploy-no-agents-vs.aspx),日志报告:

很高兴这个复制操作成功了,但我希望我的脚本输出也能在这个日志中。有没有人知道配置“使用 PS/DSC 部署”操作以便发布管理捕获 powershell 脚本输出?

0 投票
0 回答
206 浏览

ms-release-management - Release Management 2013 - 部署到安装了 Enterprise Library 5.0 的服务器时出现部署代理 2013 错误

在针对已安装 Enterprise Library 5.0 并由 ESB 2.1 使用的服务器执行发布时出现以下错误(不能仅取消注释掉 machine.config 中的引用):

Deployment Agent 2013 软件安装到“C:\Program Files (x86)\Microsoft Visual Studio 12.0\Release Management\bin\Microsoft.Practices.EnterpriseLibrary.Common.dll”。

我设法通过删除 machine.config 文件中对 Enterprise Library 5.0 的引用来使部署工作,但我知道这些是我们的 BizTalk 开发人员使用的 ESB 2.1 软件所需要的 - 我知道在 machine.config 中注释掉不是一种选择。

有谁知道如何解决这个问题?

0 投票
3 回答
954 浏览

sql-server - 用户需要被授予 Release Manager 角色才能更新现有数据库

我将现有的 RM 数据库移至新环境并安装了 RM。但是,在配置时,我收到错误消息“需要授予用户 ____ 发布管理器角色以更新发布管理的现有数据库。”

我已卸载 RM 客户端和服务器以升级到 2013.4,因此我无权访问客户端以将其添加到 RM 角色。有没有其他方法可以将用户添加为 SQL Server 中的发布管理器?我尝试将其添加为 dbo,但这不起作用。我知道我可以使用现有 RM 数据库的以前的 dbo 打开 RM 服务器,但我更愿意以另一种方式解决这个问题。或者这是唯一的方法?

0 投票
2 回答
759 浏览

visual-studio - Visual Studio 发布管理 - 具有多行值的配置变量?

我们正在尝试使用 Visual Studio 的发布管理工具(以前称为 InCycle)来自动化我们的构建/部署过程。

发布管理工具包括修改 web.config(或 app.config)中设置的工具。但是,在某些情况下,我希望能够做更多的事情。

例如,我们有 URL 重写器规则来自动将 HTTP 请求重定向到 HTTPS。但这(目前)在我们的开发工作站上不起作用。因此,web.config 的“基本”版本不包括重写器规则——它们是在构建/发布时通过 web.config 转换插入的。

但是发布管理“配置变量”机制不允许我指定多于一行作为替换值。
我意识到我可以删除换行符,并将 XML 片段压缩为单行文本。但我宁愿没有一个包含几千个字符长的行的 web.config。而且我怀疑我们的 IT 人员——毕竟他们可能还需要查看/编辑文件——会比我更强烈地感受到这一点;)

一般来说,web.config 转换机制有几种模式:您可以更改设置,也可以插入或替换(或删除)整个部分/XML 元素。虽然不再局限于 web.config 文件(开箱即用)很好,但新功能似乎受到了更多限制。

我错过了什么吗?有没有其他人发现这是一个问题?你做了什么来解决它?

0 投票
1 回答
223 浏览

tfsbuild - 创建 MS 发布管理模板失败

在过去的一周里,我一直在搞乱微软的发布管理,试图弄清楚它是否符合我们组织的需求......

首先,我使用 vNext 类型(发布、服务器、组件)创建了一个 Azure 无部署代理环境我的下一个检查是通过相同的步骤测试一个新的部署代理环境,但是当我尝试创建一个发布模板时它总是抛出我每次都有 500 个内部错误。

请注意,我确实有:

  • RM_Server 和 RM_Client 都在同一台机器上
  • 与 TFS 的稳定连接
  • 机器和 RM 的完全管理员权限
  • 创建了服务器、发布路径和环境,没有任何错误

堆:

0 投票
1 回答
1549 浏览

release-management - 如何在 MS 发布管理中使用基于代理的模板创建带有日期或内部版本号的文件夹

使用基于代理的发布模板,而不是 vNext,如何配置“创建文件夹”项,以便将日期合并到文件夹名称中,例如“C:\inetpub\wwwroot\backups\MyApp\02-03-2015\ ”。

最好是内部版本号而不是日期,但我相信它仅适用于 vNext 模板。-edit- 除非你使用组件

我正在尝试将一些备份和回滚逻辑作为我的发布管道的一部分。我想将现有的 Web 代码复制到备份文件夹,以防从放置位置复制到 Web 服务器失败。在回滚时,我将从备份中复制到服务器。当有人篡改文件时,我已经看到构建测试失败,大概是因为安全缺少 RM 服务帐户。

也可以接受解决问题的替代解决方案。我想保留连续的备份文件夹并手动删除它们。我不想重复使用相同的文件夹进行备份和恢复。

0 投票
1 回答
343 浏览

.net - 如果不是域的一部分,则将部署代理连接到 Visual Studio Online

我正在将 Microsoft 部署代理 2013 安装到 Azure VM 上。为了连接到我的发布管理服务器(在我的情况下为 Visual Studio Online),我需要作为本地系统或使用自定义帐户进行身份验证:

在此处输入图像描述

因此,使用我的凭据 - 我已验证可以使用发布管理服务,但我无法将它们连接到发布管理服务器:

当然 - 我登录该框的凭据与我访问 RM 服务器的凭据不同。所以你我想我有两个选择:

  • 将我可以访问 RM 服务器的相同帐户添加到本地框:不起作用,我的 ...@hotmail.com 用户名太长。
  • 将框的凭据添加到 Visual Studio Online:不起作用,它需要发送该邀请电子邮件。

另一种选择当然是在没有代理的情况下使用 Release Management。它使用远程powershell。那也不起作用 - 部署失败:

根据我的阅读,我怀疑这是因为 powershell 在 SSL 上运行并将自签名证书提供给不受根 CA 信任的发布管理。

我在这里做错了什么?不可能那么难,对吧?