问题标签 [azure-pipelines-yaml]
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.
azure - 更改 Azure YAML 管道会导致对资源的授权丢失
我有很多次发生这种情况,我有一个用 YAML 编写的工作 Azure Pipeline。然后我更改了管道,然后我得到了错误There was a resource authorization issue
。通常我删除管道,重新创建它,然后它就可以工作了。但是,现在它不起作用,我不断收到以下错误:
所以,我点击这个小按钮,它会弹出说,资源已被授权。我尝试再次运行管道,我得到了同样的错误。
我是帐户/馆藏/组织管理员,最初创建了图书馆组,它被设置为启用对所有管道的访问。我已经尝试重命名管道并重新创建几次以相同的错误。如果无法将管道恢复到原始状态,我该怎么办?
- 编辑 -
只需将分支重置为管道的早期版本即可。但是,仍然不知道为什么将步骤移至 Stages 和 Jobs 会失败。
- 编辑 -
下面将是我最初使用的 YAML 和更新版本。当更新版本出现资源授权问题时,我执行了 agit log
并获取了先前有效提交的提交 id,并执行了git reset $commitId
. 将重置分支推回 Azure DevOps,然后它就神奇地工作了。
原始 Azure 管道 YAML:
然后我将这些steps
移入stages
and jobs
。
- 编辑 -
我从中得到的:https ://aka.ms/yamlauthz是您要么需要从一开始就从 Stages 和 Jobs 开始,否则您必须坚持使用创建的原始管道。大多数让 Azure DevOps 创建其初始管道的人不知道使用阶段和作业,因为管道生成器不会为他们执行此操作,而仅从步骤开始。
azure-devops - 发布管道工件以在另一个管道中使用
我正在尝试在构建期间发布几个管道工件,以便我可以在构建另一个解决方案时使用它们。
我的第一个构建使用以下 yaml 构建和测试解决方案
这一切都很好,我已经能够在同一个文件中使用这个 yaml 进行部署
我现在正在尝试发布一些作为管道工件构建的项目,以便我可以在构建另一个引用它们的解决方案中使用它们。以下发布任务给了我错误:
“##[错误]路径不存在:D:\a\1\a**\projectToPublish.zip”
我在这里想念什么?我一直在考虑将两个解决方案引用的项目移动到他们自己的解决方案中,并将它们添加为 nuget 包或类似的东西。我试图发布为要在第二个解决方案中使用的工件的项目都是 WCF 客户端项目。
谢谢!
azure-devops - YAML for Azure Pipeline for MonoRepo 代码在自托管代理上
我是 Azure Devops 的第一次用户,我需要为 Azure Repos 上托管的单一存储库项目创建 CI/CD 流程。这是一个简短的描述
- Git repo 里面有多个项目,我想在单独的管道中构建它们,因为它们有单独的 makefile 并且没有相互依赖关系。例如。项目布局
回购协议
我有一个自托管的 Azure 代理 (RepoABuild),其中安装了我想在其上构建这些项目的所有工具。
LinuxProject YAML 文件的要求是
- 仅在 LinuxProject 目录中发生源更改时触发构建
- 使用 Agent RepoABuild 进行构建
- 执行 bash 命令“cd RepoA/LinuxProject”、“source opt/lib/linux/settings.sh”和“make images”
- 归档“RepoA/LinuxProject/Build”目录中的工件
这里的任何人都可以帮助我解决这个要求或指出任何例子吗?我将衷心感谢您的帮助
azure-devops - 利用变量填充 kubernetesServiceConnection:在 KubernetesManifest@0 任务中设置
目标:发布通用 Docker 镜像;将镜像部署到具有不同配置的多个操作环境(k8s 命名空间)。
我正在使用 KubernetesManifest@0 任务在 k8s 命名空间中创建和填充 k8s 密钥。我有 100 个命名空间来代表不同的客户环境。在运行 KubernetesManifest@0 任务来填充kubernetesServiceConnection:之前,我在任务中使用了 bash 脚本。具体来说,bash 脚本使用 az devops cli 为我要部署 k8s 密钥的 k8s 命名空间检索正确的完整服务连接名称。
问题:KubernetesManifest@0 任务似乎需要kubernetesServiceConnection: at Pipeline YAML compile time的值。看来我无法为kubernetesServiceConnection: during run time生成值。
如何在运行时自动设置kubernetesServiceConnection:?
错误: 出现资源授权问题:“管道无效。作业Deploy_Dev:步骤输入kubernetesServiceConnection引用服务连接$(kubernetesServiceConnection) 找不到。服务连接不存在或未被授权使用。
我的代码:
此 bash 脚本显示 kubernetesServiceConnection 扩展为我的特定服务连接名称的正确字符串 上面的 echo 为 kubernetesServiceConnection 提供了正确的字符串 kubernetesServiceConnection: $(kubernetesServiceConnection) 没有机会解决azure - 是否可以以编程方式取消 Azure DevOps 管道作业?
因为可以停止 Azure DevOps 管道中的单个步骤:
是否也可以检查条件并根据该条件停止整个管道运行或作业?
PS。我知道,您可以为作业设置条件,但在我的情况下,整个管道是一个作业,由于其他原因,将其拆分为多个作业是没有意义的。
azure-devops - Azure Devops YAML 管道中的条件依赖作业
我正在 yaml 中构建一个复杂的管道,并且我试图在两个作业之间创建依赖关系,以便后一个作业在前者之后运行,但前提是前者设置为基于参数运行。我似乎无法确定这是否可行。
我有一个这样定义的管道:
JobB
应该在JobA
ifparameters.doJobA
为 true 之后运行,或者如果parameters.doJobA
为 false 则立即运行。如果不满足条件,只需添加dependsOn
条件就会JobB
跳过JobA
这是有道理的,但我希望它无论如何都运行。
是否可以以这种方式定义条件dependsOn
?
编辑:我遇到了一个额外的问题,导致下面的解决方案无法使用。我需要条件依赖于由早期运行的 PowerShell 脚本设置的变量,而不是基于参数。
azure-devops - 如何使用 yaml 在 azure devops 中回滚到以前的构建
我有一个部署到不同环境(PreDev-Dev-QA-Stage-Prod)的多阶段管道 YAML,我正在尝试实施回滚策略以回滚到以前的版本或以前的构建工件,并且正在查看此页面https:/ /docs.microsoft.com/en-us/azure/devops/pipelines/process/deployment-jobs?view=azure-devops但无法弄清楚也没有找到任何示例。任何帮助表示赞赏
azure-devops - AutomationUI 功能测试不由 Azure Pipelines YAML 启动
我必须从 Azure DevOps Pipelines 运行一些 AutomationUI 功能测试。测试使用 WPF/Winforms 中的桌面应用程序。问题是应用程序启动但没有 UI 的过程。我使用 YAML 和任务运行测试:VSTest@2 或 PowerShell@2。我在 Windows 事件查看器中发现异常:
找不到来自源 VSTTExecution 的事件 ID 0 的描述。引发此事件的组件未安装在本地计算机上,或者安装已损坏。您可以在本地计算机上安装或修复组件。
如果事件起源于另一台计算机,则显示信息必须与事件一起保存。
活动中包含以下信息:
(testhost.exe, PID 13060, Thread 3) HKEY_LOCAL_MACHINE\EnterpriseTools\QualityTools\TestTypes 找不到密钥!
消息资源存在,但在消息表中未找到该消息。
我按照论坛上的建议重新安装了该服务,但仍然无法正常工作。
当我从 PowerShell 或命令行运行相同的测试时,没有问题。
哪里可能有问题?有什么推荐的方法来运行功能测试吗?我想问题出在 Azure DevOps Pipelines 和 VS 测试运行程序之间,因为相同的测试由 Team City 或 PowerShell/命令行成功运行
azure-devops - 用于扩展模板的 Azure 管道 stageList 参数
我正在尝试从如下所示的 azure 管道传递阶段列表
扩展如下所示的模板
目标是获取阶段列表并验证用户是否仅执行公司合规团队批准的步骤。
我收到错误 [ ][1
不知道为什么会出现“任务”错误,在任何地方都没有使用任务关键字。有什么帮助吗?