Azure DevOps bash脚本在路径上看不到二进制文件
我正在尝试在我的构建管道中执行Bash脚本,该脚本在一个自托管代理上运行。我遇到的错误是:
##[section]Starting: Bash
==============================================================================
Task : Bash
Description : Run a Bash script on macOS, Linux, or Windows
Version : 3.148.2
Author : Microsoft Corporation
Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=613738)
==============================================================================
Generating script.
[command]C:\WINDOWS\system32\bash.exe --noprofile --norc -c pwd
/mnt/c/agent/_work/1/s/utilities/Uncrustify
Formatted command: . '/mnt/c/agent/_work/1/s/utilities/Uncrustify/check.sh'
[command]C:\WINDOWS\system32\bash.exe --noprofile --norc -c pwd
/mnt/c/agent/_work/_temp
========================== Starting Command Output ===========================
[command]C:\WINDOWS\system32\bash.exe --noprofile --norc /mnt/c/agent/_work/_temp/146cb6ce-a7e9-48f6-b4f9-6cde2bf22685.sh
/mnt/c/agent/_work/1/s/utilities/Uncrustify/check.sh: line 27: uncrustify: command not found
##[error]Bash exited with code '127'.
##[error]Bash wrote one or more lines to the standard error stream.
##[section]Finishing: Bash
check.sh
脚本简单地运行uncrustify:
#!/bin/bash
# Absolute path to this script, e.g. /home/user/bin/foo.sh
SCRIPT="$0"
# Absolute path this script is in, e.g. /home/user/bin/
SCRIPTPATH="$(dirname -- "$SCRIPT")"
# Relative path from this script to the top level of this repo.
GITREPO="$SCRIPTPATH/../.."
uncrustify --check -c "$GITREPO/.uncrustify.cfg" \
$(find "$GITREPO" -name "*.c" -o -name "*.cpp" -o -name "*.cxx" -o -name "*.h" -o -name "*.hpp" -o -name "*.hxx")
azure-pipelines.yml
中的bash任务是:
- task: Bash@3
inputs:
filePath: 'utilities/Uncrustify/check.sh'
displayName: 'Verify coding standard compliance'
failOnStderr: true
我已经验证了路径上是否存在uncrustify.exe
,该路径恰好在/mnt/c/ProgramData/chocolatey/bin
中。我不确定我做错了什么。我是否需要做一些特殊的事情来允许bash脚本调用路径上可能存在的其他可执行文件?
转载请注明出处:http://www.hrtxgs.com/article/20230526/1981680.html
随机推荐
-
Azure DevOps上的ARM :找不到任何与模板文件模式匹配的文件
我正在尝试部署简单的ARM,但失败了。会出什么问题呢?Git中的ARM文件位置为ARMTemplates/CreateSQLServerARM/azuredeploy.json //Example //https://docs.micro...
-
Azure Devops/TFS测试管理(上)
因为最近测试人员合并到我这边开发组,对于如何能更好管理测试流程和测试与开发能更高效的完成任务,通俗的说如何能更敏捷,深入思考,然后就开始琢磨起TFS(也称之为VSTS/Azure Devops,因为我这边还是用着TFS2018还未升级,下...
-
Azure DevOps发布管道在kubectl命令上失败
我正在尝试构建一个ADO发布管道,以便从我们的on-prem Kubernetes集群中删除正在运行的pod。我已经有了一个安装了kubectl的自托管代理,并且能够在其上运行构建管道(构建Docker镜像并将其推送到我们的本地港口存储库)...
-
如何在Azure DevOps的bash任务行内命令中将curl输出放到变量中
我正在尝试让Jenkins CSRF crumb从Azure DevOps管道中的Rest Api调用作业,但我不能将curl的输出赋给一个变量来传递给下一个任务。因此,我尝试的第一件事是在变量组中创建一个变量,并将输出赋值给它,但bash...
-
Azure DevOps -如何让我的powershell脚本将数据输出到与我在Azure上的脚本相同的Repo (git)上的文本文件
我有一个位于Azure repo (git)上的powershell脚本,当我运行构建时,我需要该脚本将数据输出到位于同一repo上的文本文件。但是,当我使用./textFile.txt路径时,文本文件是在vm机器上创建的,而不是在存储库上...
-
Azure DevOps Server2019-如果更改仅在特定文件夹中,则TFVC会阻止生成
我最近使用TFVC在我们的本地服务器上设置了一个Azure DevOps Server2019,用于我们的源代码控制。我们的分支机构结构如下:root - App1 - App1a - App1b - etc - App2 - ...
-
Azure DevOps容器作业;在“第二”映像上运行命令行命令
我正在使用Azure DevOps容器作业和服务容器。我的用例如下,我(不幸的是)必须在私有托管构建代理上执行所有操作。我在container A中将作业作为容器作业运行。我在Container B上安装了使用命令行的特定软件(Fortif...
-
如何扫描Azure Cli的输出以提取子迭代名称或子迭代路径--Azure Devops/Bash/AzureCLI
如何扫描Azure Cli的输出以提取子迭代名称或子迭代路径--Azure Devops/Bash/AzureCLI我的想法是在输出中扫描特定的迭代名称。它将列出组织中深度为3的所有迭代,并输出$Scanoutput=az boards迭代...
-
在Azure DevOps中,bash exit with code 1‘中的Cypress测试退出失败
我已经将我的Cypress测试设置为在Azure DevOps中运行。我在yml文件中通过CMD命令运行测试,然后获得测试结果。当测试通过时,一切都像预期的那样工作,测试结果显示在摘要中。当a测试失败时,CMD步骤失败,错误##errorB...
-
Azure Devops数据仓库部署错误SQL72031:此部署在执行期间可能会遇到错误
*部署计划校验失败。Error SQL72031:此部署在执行期间可能会遇到错误,因为目标数据库中的db_datareader依赖项阻止了对localuser的更改。我尝试使用Azure Devops部署到生产Azure数据仓库,但我收到上...