我已经发布了一个构建工件,发布到 $(Build.ArtifactStagingDirectory)/drop,工件名称为“some_sidebar”,工件发布位置是 Azure Pipeline。
如果发布任务中只有 PowerShell Skript,如何在发布管道中检索该工件?
这是代码特定部分:
$path = ".\_some_sidebar\drop"
#$path = $(Build.Repository.LocalPath)
$SPFolderName = "Style Library/_some_sidebar";
# Upload template list
$status = "Uploading template list to Location: " + $SPFolderName
Write-Host $status
$te = Add-PnPFile -Path $path"\some_sidebar.js" -Folder $SPFolderName -Checkout
Set-PnPFileCheckedIn -Url $te.ServerRelativeUrl
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Uploading template list to Location: Style Library/_some_sidebar
2020-01-16T09:51:20.5062033Z Add-PnPFile : Local file was not found.
2020-01-16T09:51:20.5062546Z At D:\_work\_temp\6d682160-e8a7-4c56-ab30-7ff8c40f2958.ps1:51 char:7
2020-01-16T09:51:20.5062832Z + $te = Add-PnPFile -Path $path"\some_sidebar.js" -Folder $SPFolderName ...
Run Code Online (Sandbox Code Playgroud)
我假设 azure 管道中的构建工件路径是虚拟机中的某个路径...但我不知道如何在 shell 脚本内指定该路径,或者该路径是什么...?
在我们的 Azure Pipelines 管道中,我们有采用 InlineData 参数的 .NET Core xUnit 测试方法。测试运行程序运行所有测试方法,并在其控制台输出中正确报告每个 InlineData 实例作为测试运行。但是,Azure Pipelines 报告的测试计数较低,因为它将 [Theory] 测试计为一项测试(而不是对每个 InlineData 实例进行一项测试)。
如何使 Azure Pipelines 将 InlineData 的所有实例报告为测试?
作为示例,这是一个作业输出。
测试作业报告 9 个测试。9 个测试包括两个 [Theory] 方法,每个方法都有两个 InlineData:
Azure Pipelines 仅报告 7 个测试,而不是预期的 9 个测试:
最近正在研究 Azure DevOps 模板。并遇到了这种双花括号语法。只是想知道如何在 Azure DevOps 中使用双花括号。
看过一些关于相同内容的帖子。
可以说,我在组中定义了一个变量,如下所示。
我们还可以在 yaml 文件中定义变量,如下所示。
variables:
- name: BuildConfiguration
value: 'Release'
- name: finalBuildArtifactName
value: 'TempFolderName'
Run Code Online (Sandbox Code Playgroud)
什么时候应该使用双大括号语法?
我有关于并使用以下方法来引用变量的想法。
与上述两个相比,我们可以用双花括号完成什么?
让 yaml 管道中的东西正常工作非常困难。进行更改、签入、运行管道、查看结果并再次返回。这非常耗时,而且至少可以说并不顺利。
在我的管道中,我有一项任务(除其他外)要么成功,要么成功但存在问题,由以下因素控制:
if (-Not $packagesAreUpToDate) {Write-Host "##vso[task.complete result=SucceededWithIssues;]"}
Run Code Online (Sandbox Code Playgroud)
此任务使整个作业(包含其他任务)具有“警告”状态,这是所期望的。
问题是在观察提交历史记录时,管道看起来好像失败了(当它们应该具有“警告”或类似状态时)。
有没有办法解决这个问题,或者这是 Azure DevOps 尚未添加的错误或功能?
从其 PAT 配置了自托管代理的用户即将离开组织。一旦用户离开组织,他的帐户将从 Azure AD 中删除,因此他的 PAT 将过期。应如何接管自托管代理或使用其他用户帐户更新 PAT?
我无法看到任何有关 PAT 更新的 MSFT 文档。在这种情况下,卸载并重新安装是唯一的选择吗?
我正在windowAzure Pipeline 中使用基于代理。其中一项任务是将项目复制到 Azure Blob 存储。
- task: AzureFileCopy@3
displayName: 'Upload to Azure'
inputs:
sourcePath: '$(Pipeline.Workspace)/dist'
azureSubscription: 'My Subscription'
destination: 'AzureBlob'
storage: $(featureStorageName)
containerName: '$web'
Run Code Online (Sandbox Code Playgroud)
微软建议az storage blob使用task: AzureCLI@2
此任务是用 PowerShell 编写的,因此仅在 Windows 代理上运行时才有效。如果管道需要 Linux 代理并且需要将文件复制到 Azure 存储帐户,请考虑在 Azure CLI 任务中运行 az storage blob 命令作为替代方案。
我可以在Linux代理上运行的等效命令是什么?
我认为骨架会这样开始:
task: AzureCLI@2
inputs:
azureSubscription: 'My Subscription'
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
az ...
Run Code Online (Sandbox Code Playgroud) stages:
- stage: A
jobs:
- job: A1
pool: CloneX
displayname: My Job A
- job: A2
pool: CloneX
displayname: My Job B
Run Code Online (Sandbox Code Playgroud)
这是我的 Azure Devops yaml。
我注意到 2 个代理(作为 Windows 服务)在同一台池机器 CloneX 上运行。它是一台内部机器。
作业 A1 和作业 A2 必须按顺序运行。
然而,A1 和 A2 都是并行安排的。
如何解决这个问题?
将作业 A2 移至阶段 B?或者
在 CloneX 池上仅保留 1 个代理?
Android、Azure Devops 在运行管道时出现错误##[错误]错误:进程“/Users/runner/work/1/s/gradlew”失败,退出代码为 1
在语言环境系统中,生成了所有工作 apk,但在 azure devops 上运行管道时,它显示错误
FAILURE: Build failed with an exception.
* Where: Build file '/Users/runner/work/1/s/app/build.gradle' line: 2
* What went wrong: An exception occurred applying plugin request [id:
'com.android.application']
> Failed to apply plugin 'com.android.internal.application'.
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
Run Code Online (Sandbox Code Playgroud)
我已经在使用 Java 11
我搜索了相同的内容但没有得到任何解决方案。
我有一组 Azure 构建管道,用于编译 rust 项目,并且当前使用 blob 存储将.cargo和target文件夹存储为缓存。
在本地编译时,一旦第一次编译了二进制文件,后续的cargo build就不会再次编译依赖库/板条箱,而只是本地二进制文件,但是使用我当前的管道系统,在下载缓存并使用正确的目标文件夹后构建后,管道仍然下载并构建 crates。
这是我用于缓存和任何管道构建的 config.toml。
[build]
target-dir = "./target"
dep-info-basedir = "."
incremental = true
Run Code Online (Sandbox Code Playgroud)
在某些情况下,它减少了编译时间,但远没有我预期的那么多。我可以缓存更多文件夹以提高速度吗?是否存在货物正在检查并污染缓存的某些缓存标识符?
管道运行一个自定义的 xtask 二进制文件,该二进制文件执行许多任务,包括运行,cargo build --release这是否会导致问题?
我们使用 Azure Pipelines 和使用 Ubuntu 18.04 作为操作系统的构建代理。
\n我目前正在尝试将管道中的 Nodejs 版本从 16 更新到 18。通过使用Azure Pipelines 中的 NodeTool 任务和versionSpec: "18.x".
然而,在使用 Nodejs 之后,它提示我缺少依赖项:\nnode: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28\' not found (required by node)\\
我什至可以使用 docker 按照以下说明复制此行为
\ndocker pull ubuntu:18.04\ndocker run -it {IMAGE-ID}\n\n# console switches to TTY session for running container\xe2\x80\xa6\n\napt update\napt install curl\ncurl -fsSL https://deb.nodesource.com/setup_18.x | bash\napt-get install -y nodejs\n\n# checking the node version generates the error above\n\nnode -v\nRun Code Online (Sandbox Code Playgroud)\n这里的问题可能有点过分了,但我不习惯使用linux系统。
\n我可以轻松解决 Nodejs 的这种依赖关系吗?\n或者这里安装缺少的依赖关系的一般方法是什么? …
azure-pipelines ×10
azure-devops ×5
.net-core ×1
android ×1
artifact ×1
azure ×1
caching ×1
cicd ×1
node.js ×1
powershell ×1
release ×1
rust ×1
rust-cargo ×1
ubuntu ×1
xunit ×1
yaml ×1