azure - azure devops 管道脚本给出 bash 错误
问题描述
Azure devops 管道脚本给出错误 Bash exited with code '127'。
YAML 脚本不适用于 devops 管道。
trigger:
- master
pool:
vmImage: 'Ubuntu-16.04'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
start
displayName: 'npm install and build'
package.json 有脚本“开始”。运行此脚本后,它显示错误 Bash exited with code '127'。
解决方案
由于多种原因,您的 YAML 无效。我首先建议您不要缩进根级别(语义上没有区别)。如果你这样做,你会更容易看到第一个键 ( trigger
) 比第二个键 ( pool
) 缩进更多:
trigger:
- master
pool:
vmImage: 'Ubuntu-16.04'
steps:
- task: NodeTool@0
然后在文件的末尾,您有序列条目指示符(-
与键的值处于同一级别,inputs
但该键已经具有作为值的映射(具有键versionSpec
和的那个displayName
),并且您不能在 YAML 中拥有一个具有序列和映射元素。虽然如何解决这个问题并不明显。
不是致命的,但无论如何都是一个建议:您应该使用相同数量的空格缩进序列。作为值的序列trigger
缩进了 4 个位置的条目,其中序列条目指示符的偏移量为 2。对于steps
this 的值分别为 5。3. 保持一致是值得的,如果你很难做到这一点,有可用的工具(可安装的和在线的)可以为你做到这一点。
推荐阅读
- django - Django 计算 ForeignKeyField
- kotlin - 使用 kotlinpoet 从现有文件创建 TypeSpec
- mongodb - 为什么 Mongodb 集合的大小比 PostgreSQL 表大小更大
- cucumber - 我试图在步骤定义文件中传递值,但出现错误
- go - Go 中的数据竞赛:为什么会发生在 10-11 毫秒以下?
- django - 如何在 Django Rest Framework 中为 TokenAuthentication 自定义消息错误
- python - 熊猫根据分类条件从列中复制数值并放入新列
- javascript - 如何在不使用 EXTJS 中的文件字段组件的情况下将图像上传到服务器?
- vespa - Vespa 中基于模式的方面
- makefile - GNU Make:如果字符串包含“dirToExclude”,则从带有子目录的数组中删除字符串