azure - Azure Devops Bash 说错误的文件路径,但脚本“ls”显示它是正确的
问题描述
Azure DevOps - 我正在##[error]Invalid file path '/home/vsts/work/1/s/docker-e2e'.
bash 任务中获取我的 bash 脚本。
但是,- script: ls '$(System.DefaultWorkingDirectory)/docker-e2e'
正确显示:
2021-06-21T17:03:29.2609773Z ls '/home/vsts/work/1/s/docker-e2e'
2021-06-21T17:03:29.2610385Z ========================== Starting Command Output ===========================
2021-06-21T17:03:29.2629573Z [command]/usr/bin/bash --noprofile --norc /home/vsts/work/_temp/f4f42ebe-2929-4239-8697-1e61770cf4df.sh
2021-06-21T17:03:29.2680715Z docker-compose-e2e.yml
2021-06-21T17:03:29.2682129Z wait-for-widgets-online.sh
2021-06-21T17:03:29.2891004Z ##[section]Finishing: CmdLine
我做错了什么?
stages:
- stage: e2e
displayName: run e2e tests
pool:
vmImage: "ubuntu-20.04"
jobs:
- job: runE2E
displayName: Run E2E
steps:
- script: ls $(System.DefaultWorkingDirectory)/docker-e2e
- task: Bash@3
inputs:
filePath: $(System.DefaultWorkingDirectory)/docker-e2e
script: wait-for-widgets-online.sh
解决方案
您可以通过(应该是文件的路径,而不是目录)或(应该是脚本的内容,而不是路径)将脚本内容传递给任务Bash
。filePath
script
在您的情况下,它应该只是:
- task: Bash@3
inputs:
filePath: $(System.DefaultWorkingDirectory)/docker-e2e/wait-for-widgets-online.sh
推荐阅读
- android - Android Studio 不显示创建 Firestore 索引的链接
- android - 如何设置应用内更新的优先级?
- macos - 插入(虚拟测角仪)与运行的 MeshLab 版本不同的浮点精度
- javascript - 根据条件重新排列javascript数组
- android - MaterialCardView 包括所有孩子到位图
- java - 将对象添加到 ArrayList
- sql - 使用 TypeORM 在 Postgres 中回滚数据库更改
- java - 以 HTML 格式下载 Zip 文件
- angular - ionic 4/5 使用 ngx-translate 自动添加到 i18n 中的字幕文件
- python - 将数据附加到熊猫数据框