标签: azure-task-groups

Azure DevOps 为内联 bash 脚本中的操作创建变量

在 Azure DevOps 中创建这样的内联 bash 命令时:

checksum="$(cksum file.txt)"
Run Code Online (Sandbox Code Playgroud)

我最终会看到它cksum file.txt是一个必需的参数。无论出于何种原因,这种行为并不一致,因此有时我已经设置了可以与内联 Bash 脚本一起正常工作的构建管道,但不可避免地,我会遇到这个问题并且无法修复它。

我什至尝试将cksum file.txt参数设置为cksum file.txt,但用编码字符串替换空格:%20。它变成cksum%20file.txtwhich 在 bash 中不是有效命令。

这是完整的脚本:

yarnCacheFilename="$(cksum yarn.lock).yarnCache.docker.tgz"

wget "https://example.azureedge.net/yarn-cache/$yarnCacheFilename"

if [ -f "$yarnCacheFilename" ]; then
    mkdir node_modules
    tar -xzvf "$yarnCacheFilename"
else
    yarn install --production
fi
Run Code Online (Sandbox Code Playgroud)

足够简单。这是我可以在任何bash终端中运行的代码。遗憾的是,Azure DevOps 正在向任务组添加一个参数:

Azure DevOps 为内联 <code>bash</code> 命令添加参数

该参数存在的事实意味着 Azure DevOps 阻止了我的 bash 文件正确执行并替换了最关键的部分。

我如何解决这个问题?

azure-devops azure-pipelines-build-task azure-pipelines azure-task-groups

4
推荐指数
1
解决办法
5180
查看次数

如何在 Azure DevOps 中导入任务组

我有多个使用类似任务集的发布管道。我已经创建了一个任务组,如任务组中所述。我想在其他发布管道中重用此任务组。

我在 Azure DevOps 中找不到任何任务/菜单项来执行此操作。任务组中的文档提到将发布管道导出为 json,但导入部分不太说明问题。

azure azure-devops azure-pipelines azure-task-groups

3
推荐指数
1
解决办法
8277
查看次数