azure-devops-task-groups 相关问题


Azure DevOps 服务器到 Azure DevOps 服务迁移

我已将本地 Azure DevOps 2020 服务器迁移到 Azure DevOps 服务作为试运行。 迁移将我现有的 [email protected] 帐户映射到我的 [email protected] ...


我对 azure devops 管道有疑问

现在,我今天有一个关于 Azure DevOps 管道的问题。您需要告诉我在下面的实例中触发 Azure DevOps 管道的原因,即使源...


使用 Azure Devops REST API 创建交付计划样式规则

我正在尝试使用 Azure Devops REST API 在 Azure Devops 项目中创建交付计划。我使用以下方法来创建相同的。 https://learn.microsoft.com/en-us/rest/api/azure/devop...


无法通过PAT令牌调用Azure DevOps Rest Api

我正在尝试使用 Azure DevOps Rest api 将保存在本地目录(桌面)中的 json 文件导入到 Azure DevOps 库变量组。 这是剧本。 $jsonbody = Get-Content -Path "C: ar...


使用 Azure DEVOPS CLI 将特定用户分配给多个项目

我是 Azure DEVOPS CLI 的新手,我需要使用 AZURE DEVOPS CLI 为组织中的所有项目分配特定用户。该组织的项目总数约为 25 个。 格雷...


如何将测试用例从Azure DevOps迁移到TestRail?

我们的组织希望将所有测试用例从 Azure DevOps 转移到 TestRail。我怎样才能做到这一点?当我在这里检查 azure DevOps Rest API 时,没有这样的 api 来提取


Devops 2020 和 2022 附加集合 TF254078 未找到可附加数据库

我正在致力于将 DevOps OnPremises 迁移到 Azure Devops,并一直在尝试配置 DevOps 迁移器并使其正常工作。在此期间,我分离了我的一个收藏来创建 d...


如何从 AzureRM 类型(自动)创建服务连接 Azure DevOps(使用服务主体-自动)

我需要创建从 Azure DevOps 中的许多项目到我在 Azure 中的订阅的连接。 我还需要他来自 azure 资源管理器类型,并且将创建他们的服务主体


Azure Devops Powershell 脚本

我是 Azure DevOps 的新手。我们有一个管道,管道中的任务之一是将一些配置文件复制到另一台服务器,它看起来像 复制项目 -path D:\Config\*.* -Destination '\server\


具有多个标签的Azure DevOps Docker 任务

我讨厌 Azure DevOps,但我一直在使用它......他们有一个包含此文档的 Docker@2 任务 细绳。选修的。当 command = build || 时使用命令=推||命令 = buildAndPush.德发...


在 Azure DevOps 中创建项目状态报告

我正在尝试在 Azure DevOps 中创建一个项目状态报告(用于敏捷软件项目的“瀑布视图”),该报告基于 Epics 列表和下面的相应功能...


如何从 Azure Devops 管道中的 yaml 覆盖库变量值

我在库中定义了变量组: 我试图在 Azure DevOps YAML Pipeline 的特定任务中覆盖上述库中定义的变量的值: 扳机: - 没有任何 便便...


分支策略仅限于通过 Terraform 的 Azure Devops 中的存储库

我们在 Azure Devops 的项目中有几个存储库(比如 TFA 和 TFB),它们从不同的“默认”策略继承分支策略。 我们计划覆盖并且


如何将小部件添加到 Azure DevOps 仪表板

有人可以告诉我如何从扩展库将小部件添加到 Azure DevOps 仪表板吗? 当向仪表板添加新的小部件时,我最初会看到以下屏幕 弗...


使用 Github Actions 恢复 Azure DevOps 中托管的私有 Nuget 包失败

我有一个 .NET 项目,它使用托管在 Azure DevOps 中的私有 Nuget 包。我有一个 Github Actions 工作流程,它使用个人访问令牌注册私人提要,并恢复


在 Azure DevOps SSH 远程计算机上执行“docker 登录”时出错:密码存储警告

问题: 尝试在 Azure DevOps SSH 远程计算机上执行 docker 登录时遇到错误。 错误信息: 执行命令后,我收到以下错误: 警告!你的


为 Azure DevOps 上新创建的分支继承分支策略

我们在Azure DevOps上有一个git存储库,并且已经为一些分支(master、develop等)配置了一些分支策略。我们目前的规则如下: 需要最低数量的审查...


Microsoft Entra ID 应用程序身份验证和 Azure DevOps REST API

我正在开发一项多租户服务,该服务将代表用户在 Azure DevOps 中列出、创建和更新工作项。我对 Entra ID 应用程序的设置、其身份验证流程有点困惑...


如何使用 Azure DevOps API 获取拉取请求中关联的工作项

我尝试使用 Azure DevOps API 获取 Pull 请求。我想包含关联的工作项或仅包含工作项 ID。 我可以使用此 URL 获取 PR。但答案不包含任何有关工作的信息


无法在 Azure DevOps 中使用 Visual Studio 17.8.3 包发布 .Net Maui Asp.Net 7 或 8 iOS 应用程序

我的应用程序过去使用 Azure DevOps 发布得很好,当时它是一个面向 iOS 16.1 且支持 15.4 框架的 ASP.net 7 应用程序。我使用的是 Visual Studio Enterprise 2022 17.5.3 包。 我...


Azure API 管理:如何将原始响应正文存储为变量并输出选定字段?

我在 Azure API 管理中创建了一个简单的 API,目的是在 Azure DevOps Boards 中创建工作项。我在 Azure Board 端点的 API 策略中创建了一个 标签...


无法在 Azure DevOps 中使用 Visual Studio 17.8.3 包发布面向 iOS 的 ASP.NET 7 或 8 Maui 应用程序

我的应用程序过去使用 Azure DevOps 发布得很好,当时它是一个面向 iOS 16.1 并具有 15.4 支持框架的 ASP.NET 7 应用程序。我使用的是 Visual Studio Enterprise 2022 17.5.3 包。 我...


通过 Azure Devops REST API 运行构建管道时,分支始终默认为 Master

我已经设置了一个 powershell 脚本,该脚本通过 REST API 在 Azure Devops 中运行构建管道,这可以工作,但始终将分支指定为主分支,即使我指定了不同的分支也是如此。 我...


如何在azure devops yml任务中的下一个powershell任务中设置变量布尔值以查找其真或假,然后相应地设置值?

我的 yml 中有以下任务,但是当我尝试将 $(setOutput.myOutputJobVar) 的值存储在 powershell azure devops yml 中的某个变量中时,它不起作用并说术语“true”我...


无法通过ARM模板在Azure存储中创建容器

使用arm模板,我能够创建存储帐户、队列、文件服务。但是当我也尝试创建容器时,azure devops 任务失败。 “资源”: [ { “……


托管在 Azure Artifact 上的 NodeRed 目录

我一直在尝试使用 Azure DevOps 实例上托管的 npm feed 将自定义目录添加到我的 Node-RED 安装中。我到处寻找文档,包括这个,我遇到了


如何更改字体大小和格式

有人可以告诉我是否可以通过对话框本身更改 Azure DevOps 描述中的字体格式吗? 看起来描述将保留


如何在DevOps发布管道中设置.NET 8.0?

使用 Azure Web App 部署任务时,您必须选择将在 Azure Web App 中使用的运行时堆栈。 我最近从 .NET 6 更新到 .NET 8,令我惊讶的是你可以随时随地设置 .NET 8...


使用 Gradle 进行 SonarCloud 分析的 Azure Pipeline 成功,但未发布结果

我尝试分析 Java 存储库,使用 Gradle 包装器进行构建,然后在我的 SonarCloud 组织中发布结果。 我正在使用 Azure DevOps Pipeline 进行构建,但是,我无法看到...


在 Azure Devops Repos 中查找按评论过滤的提交

众所周知,存储库中的每个提交都有一条注释: Azure Repos 中有没有办法找到按评论过滤的所有提交?例如: 查找所有带有包含关键字 's... 的评论的提交


在 Azure Devops Repos 中查找按评论过滤的提交

众所周知,存储库中的每个提交都有一条注释: Azure Repos 中有没有办法找到按评论过滤的所有提交?例如: 查找所有带有包含关键字 's... 的评论的提交


在 C# 中将 Task<T> 转换为 Task<object>,无需 T

我有一个充满扩展方法的静态类,其中每个方法都是异步的并返回一些值 - 像这样: 公共静态类 MyContextExtensions{ 公共静态异步任务 我有一个充满扩展方法的静态类,其中每个方法都是异步的并返回一些值 - 像这样: public static class MyContextExtensions{ public static async Task<bool> SomeFunction(this DbContext myContext){ bool output = false; //...doing stuff with myContext return output; } public static async Task<List<string>> SomeOtherFunction(this DbContext myContext){ List<string> output = new List<string>(); //...doing stuff with myContext return output; } } 我的目标是能够从另一个类中的单个方法调用这些方法中的任何一个,并将其结果作为对象返回。它看起来像这样: public class MyHub: Hub{ public async Task<object> InvokeContextExtension(string methodName){ using(var context = new DbContext()){ //This fails because of invalid cast return await (Task<object>)typeof(MyContextExtensions).GetMethod(methodName).Invoke(null, context); } } } 问题是转换失败。我的困境是我无法将任何类型参数传递给“InvokeContextExtension”方法,因为它是 SignalR 中心的一部分并且由 javascript 调用。在某种程度上,我不关心扩展方法的返回类型,因为它只会序列化为 JSON 并发送回 javascript 客户端。但是,我确实必须将 Invoke 返回的值转换为任务才能使用等待运算符。我必须为该“任务”提供一个通用参数,否则它将把返回类型视为 void。因此,这一切都归结为如何成功地将具有通用参数 T 的任务转换为具有对象通用参数的任务,其中 T 表示扩展方法的输出。 您可以分两步完成 - await使用基类执行任务,然后使用反射或dynamic收获结果: using(var context = new DbContext()) { // Get the task Task task = (Task)typeof(MyContextExtensions).GetMethod(methodName).Invoke(null, context); // Make sure it runs to completion await task.ConfigureAwait(false); // Harvest the result return (object)((dynamic)task).Result; } 这是一个完整的运行示例,它将上述通过反射调用 Task 的技术置于上下文中: class MainClass { public static void Main(string[] args) { var t1 = Task.Run(async () => Console.WriteLine(await Bar("Foo1"))); var t2 = Task.Run(async () => Console.WriteLine(await Bar("Foo2"))); Task.WaitAll(t1, t2); } public static async Task<object> Bar(string name) { Task t = (Task)typeof(MainClass).GetMethod(name).Invoke(null, new object[] { "bar" }); await t.ConfigureAwait(false); return (object)((dynamic)t).Result; } public static Task<string> Foo1(string s) { return Task.FromResult("hello"); } public static Task<bool> Foo2(string s) { return Task.FromResult(true); } } 一般来说,要将 Task<T> 转换为 Task<object>,我会简单地采用简单的连续映射: Task<T> yourTaskT; // .... Task<object> yourTaskObject = yourTaskT.ContinueWith(t => (object) t.Result); (文档链接在这里) 但是,您实际的具体需求是 通过反射调用 Task 并获取其(未知类型)结果 。 为此,您可以参考完整的dasblinkenlight的答案,它应该适合您的具体问题。 我想提供一个实现,恕我直言,这是早期答案的最佳组合: 精确的参数处理 无动态调度 通用扩展方法 给你: /// <summary> /// Casts a <see cref="Task"/> to a <see cref="Task{TResult}"/>. /// This method will throw an <see cref="InvalidCastException"/> if the specified task /// returns a value which is not identity-convertible to <typeparamref name="T"/>. /// </summary> public static async Task<T> Cast<T>(this Task task) { if (task == null) throw new ArgumentNullException(nameof(task)); if (!task.GetType().IsGenericType || task.GetType().GetGenericTypeDefinition() != typeof(Task<>)) throw new ArgumentException("An argument of type 'System.Threading.Tasks.Task`1' was expected"); await task.ConfigureAwait(false); object result = task.GetType().GetProperty(nameof(Task<object>.Result)).GetValue(task); return (T)result; } 您不能将 Task<T> 转换为 Task<object>,因为 Task<T> 不是协变的(也不是逆变的)。最简单的解决方案是使用更多反射: var task = (Task) mi.Invoke (obj, null) ; var result = task.GetType ().GetProperty ("Result").GetValue (task) ; 这很慢且效率低下,但如果不经常执行此代码则可用。顺便说一句,如果您要阻塞等待其结果,那么异步 MakeMyClass1 方法有什么用呢? 另一种可能性是为此目的编写一个扩展方法: public static Task<object> Convert<T>(this Task<T> task) { TaskCompletionSource<object> res = new TaskCompletionSource<object>(); return task.ContinueWith(t => { if (t.IsCanceled) { res.TrySetCanceled(); } else if (t.IsFaulted) { res.TrySetException(t.Exception); } else { res.TrySetResult(t.Result); } return res.Task; } , TaskContinuationOptions.ExecuteSynchronously).Unwrap(); } 它是非阻塞解决方案,将保留任务的原始状态/异常。 最有效的方法是自定义等待者: struct TaskCast<TSource, TDestination> where TSource : TDestination { readonly Task<TSource> task; public TaskCast(Task<TSource> task) { this.task = task; } public Awaiter GetAwaiter() => new Awaiter(task); public struct Awaiter : System.Runtime.CompilerServices.INotifyCompletion { System.Runtime.CompilerServices.TaskAwaiter<TSource> awaiter; public Awaiter(Task<TSource> task) { awaiter = task.GetAwaiter(); } public bool IsCompleted => awaiter.IsCompleted; public TDestination GetResult() => awaiter.GetResult(); public void OnCompleted(Action continuation) => awaiter.OnCompleted(continuation); } } 具有以下用法: Task<...> someTask = ...; await TaskCast<..., object>(someTask); 这种方法的局限性在于结果不是 Task<object> 而是一个可等待的对象。 我根据dasblinkenlight的回答做了一个小小的扩展方法: public static class TaskExtension { public async static Task<T> Cast<T>(this Task task) { if (!task.GetType().IsGenericType) throw new InvalidOperationException(); await task.ConfigureAwait(false); // Harvest the result. Ugly but works return (T)((dynamic)task).Result; } } 用途: Task<Foo> task = ... Task<object> = task.Cast<object>(); 这样您就可以将 T 中的 Task<T> 更改为您想要的任何内容。 对于最佳方法,不使用反射和动态丑陋语法,也不传递泛型类型。我将使用两种扩展方法来实现这个目标。 public static async Task<object> CastToObject<T>([NotNull] this Task<T> task) { return await task.ConfigureAwait(false); } public static async Task<TResult> Cast<TResult>([NotNull] this Task<object> task) { return (TResult) await task.ConfigureAwait(false); } 用途: Task<T1> task ... Task<T2> task2 = task.CastToObject().Cast<T2>(); 这是我的第二种方法,但不推荐: public static async Task<TResult> Cast<TSource, TResult>([NotNull] this Task<TSource> task, TResult dummy = default) { return (TResult)(object) await task.ConfigureAwait(false); } 用途: Task<T1> task ... Task<T2> task2 = task.Cast((T2) default); // Or Task<T2> task2 = task.Cast<T1, T2>(); 这是我的第三种方法,但是不推荐:(类似于第二种) public static async Task<TResult> Cast<TSource, TResult>([NotNull] this Task<TSource> task, Type<TResult> type = null) { return (TResult)(object) await task.ConfigureAwait(false); } // Dummy type class public class Type<T> { } public static class TypeExtension { public static Type<T> ToGeneric<T>(this T source) { return new Type<T>(); } } 用途: Task<T1> task ... Task<T2> task2 = task.Cast(typeof(T2).ToGeneric()); // Or Task<T2> task2 = task.Cast<T1, T2>(); 将 await 与动态/反射调用混合使用并不是一个好主意,因为 await 是一条编译器指令,它会围绕调用的方法生成大量代码,并且使用更多反射来“模拟”编译器工作并没有真正的意义,延续、包装等 因为您需要的是在运行时管理代码,然后忘记在编译时工作的 asyc await 语法糖。重写 SomeFunction 和 SomeOtherFunction 而不使用它们,并在运行时创建的您自己的任务中开始操作。您将得到相同的行为,但代码非常清晰。


Azure DevOps YAML 构建管道卡在自托管代理上

我在自托管代理上运行基于 YAML 的构建管道时遇到问题。触发构建后,它陷入为作业准备代理 - 等待请求排队......


在管道中部署之前备份数据库

在 Azure DevOps 管道(yaml 不是经典 gui)中部署 dacpac 之前,是否有一流的公民*方法来备份数据库? 如果没有“简单按钮”,我该怎么做? 参考...


使用 Azure DevOps 管道获取更改的文件

我收到此错误消息 致命:不明确的参数“@~”:未知修订版或路径不在工作树中。 使用“--”将路径与修订版分开,如下所示: 'git [...] -- [...]' 同时


如何将 pom.xml 文件的编辑版本中的文件提交到 azure 存储库中

我正在尝试通过 CI/CD 在 pom.xml 上实施我们的应用程序的版本控制策略。 我已遵循此问题的解决方案,并在 Azure DevOps 管道上应用了 powershell 脚本任务:如何更新


虚拟机规模集未显示在代理池中

希望你一切都好, 我正在测试 Azure DevOps 环境,并且创建了一个虚拟机规模集来执行我的构建管道,但非常奇怪的是我基于


如何在 Azure DevOps 中接受工作项“已完成”?

当开发人员将状态设置为“完成”时,我对如何接受工作项感到困惑。我想在开发将其转移到“完成”状态之前对其进行审查...


GitVersion 正确更新 master、dev、hotfix 分支的程序集版本

我在 Azure DevOps 管道中使用 GitVersion 来自动化部署,但是我正在努力让自动版本控制按我想要的方式工作。 分支结构是这样的: 大师-这...


Azure Devops - 存储库中每个分支都有一个计划管道

是否可以使用一个管道并将其安排到存储库中以“release”开头的所有分支? 我的场景: 一个存储库 - TestRepo。 TestRepo 的多个发布分支:release/


Azure DevOps 中的交付计划

我正在管理具有多个配置单元的项目。每个 Hive 有 10 个小队,该项目跨越多个小队。 我已经创建了交付计划来跟踪 ADO 中的项目。 我想获得有关...的意见


无法在我的 Azure Devops 管道中签出另一个存储库

当我运行管道时,无论是通过将提交推送到存储库还是手动执行,都会出现以下错误: 不支持签出存储库“repo1”。只有‘自己’、‘无’、 或存储库别名...


如何使用 Azure Devops 发布管道中的命令从 kudu 站点文件夹中删除文件

上下文:部署后,从 Kudu 站点控制台中的特定文件夹中删除文件。 我使用了前一个问题中给出的脚本语法,但这里的命令不同。 我尝试过...


在另一个列表中计算一个列表中的元素

df 是这样的: df <- data.frame( groups=I(list(c("a"), c("b","c", "d", "e","f"), c("g","h"), c("i&quo...


下载期间出错:“NoneType”对象没有属性“groups”

我无法从我的谷歌驱动器下载音频文件。 导入gdown drive_link = 'https://drive.google.com/uc?id=1X13DtRGrF2gFVYL_2bVZ9OtiuSQGnl' file_id =drive_link.split('=')[1] 输出_pat...


为什么 Apache IoTDB 在插入时间戳时报告 `WrappedthreadPoolExecutor` 错误?

这个错误的原因是什么?错误 o.a,i.c.c,t。 WrappedthreadPoolExecutor:111 - 线程池 org.apache 中出现异常。 iotdb.threadpool:type=Compaction-Sub-Task,然后它报告我去...


R 网络抓取新手 - 如何使用 rvest 包抓取 IMDB 电影数据?

我是 R 中网页抓取的新手,对 HTML 代码不太熟悉。我正在尝试从 https://www.imdb.com/search/title/?sort=user_ rating,desc&groups=


具有组参数集的 conv1d 层模型的 tf2onnx 转换

我尝试使用 tf2onnx 将包含 'groups' 参数 > 2 的 conv1d 层的张量流模型转换为 onnx。当我尝试在 onnxruntime 上读取 onnx 模型时,出现以下错误, 这...


如何解决从Linux在R 3.6.0中安装“udunits2”时出现“错误:libudunits2.a未找到”的问题?

我尝试使用以下命令在Linux中安装udunits2(因为我需要sf包): install.packages("/panfs/roc/groups/5/.../udunits2_0.13.tar.gz", repos=NULL, type ="source") 但我得到了这个电子...


React Native Reanimated 错误:任务 ':Task :react-native-reanimated:prepareBoost FAILED' 执行失败

我尝试在 Android 模拟器上运行应用程序,但遇到了阻止程序。该问题似乎源于此软件包,导致应用程序无法运行。 这是正在寻找的包的版本...


© www.soinside.com 2019 - 2024. All rights reserved.