Travis以状态码127失败

时间:2018-04-27 09:04:26

标签: javascript node.js travis-ci

我正在使用travis来构建我的项目。我正在使用类似下面的部署脚本,

deploy:
  provider: script
  script:
    - npm run deploy
    - npm run test:deploy-results
  skip-cleanup: true
  on:
    branch: build

以下是package.json中的npm脚本的样子,

"test:deploy-results": "node ./scripts/deploy-test-reports.js",

Travis失败,状态码为127.我试图找到一些信息,但无法获得任何信息。

2 个答案:

答案 0 :(得分:1)

在阅读了更多内容之后,我发现它是Linux error code因为无法找到解释器/编译器或缺少可执行文件。

另外,我需要添加多个部署提供程序,以便在.travis.yml中执行多个脚本,如下所示

deploy:
  skip-cleanup: true
  # Publish docs
  provider: script
  script: npm run test:deploy-results
  on:
    branch: build
  # Test reports
  provider: script
  script: npm run test:deploy-results
  on:
    branch: build

答案 1 :(得分:1)

如果要执行多个脚本,还可以将它们捆绑在一个shell脚本中(例如scripts/deploy.sh),并在部署步骤中执行该脚本:

.travis.yml

deploy:
  provider: script
  script: bash scripts/deploy.sh
  on:
    branch: master

scripts / deploy.sh

#!/bin/bash

echo 'Hello'
echo 'World'

等效于:

.travis.yml

deploy:
  - provider: script
    script: echo 'Hello'
    on:
      branch: master
  - provider: script
    skip_cleanup: true
    script: echo 'World'
    on:
      branch: master

提示:请确保在shell脚本中使用LF行尾,否则您将收到此错误:

  

scripts / deploy.sh:第2行:$'\ r':找不到命令

在Windows系统中经常发生,因为它们使用CRLF行尾。