我正在使用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.我试图找到一些信息,但无法获得任何信息。
答案 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行尾。