无法解析 .travis.yml

Could not parse .travis.yml

我正在尝试使用 GitHub、Travis CI 和 AWS ECS 创建 CI 管道。当我将提交提交到 master 分支时,我在 travis CI: 'Could not parse .travis.yml' 中遇到错误。我想不通,问题出在哪里。 Travis 没有提供有关错误的更多信息。

有一个代码,我正在使用:

.travis.yml

language: csharp
dist: trusty
sudo: required
mono: none
dotnet: 2.0.0
branches:
    only:
        - master
before_script:
    - chmod -R a+x scripts
script:
    - ./scripts/dotnet-build.sh
    - ./scripts/dotnet-publish.sh
    - ./scripts/docker-publish-travis.sh

dotnet-build.sh

 dotnet restore 
 dotnet build

dotnet-publish.sh

dotnet publish ./BookMeMobi2 -c Release -o ./bin/Docker

dotnet-publish-travis.sh

pip install --user awscli
eval $(aws ecr get-login --no-include-email --region eu-central-1)
docker build -t bookmemobi2 .
docker ps
docker tag bookmemobi2:latest 601510060817.dkr.ecr.eu-central-1.amazonaws.com/bookmemobi2:latest
docker push 601510060817.dkr.ecr.eu-central-1.amazonaws.com/bookmemobi2:latest

不知道哪里出了问题。你可以帮帮我吗?

我遇到了类似的问题。在我的例子中,我使用 python 来启动几个脚本。我把它们一个接一个地放在开头,就像你一样。所以我搜索发现我可以将它们全部放在一行中,每个脚本之间用“&”,我去掉了连字符。

我拥有的:

 script: 
 - python  test_Math_DC.py
 - python test_Math_Moy.py
 - python test_Math_Var.py
 - python test_Math_SQRT.py

更改为:

script: python test_Math_DC.py & python test_Math_Moy.py & python test_Math_Var.py & python test_Math_SQRT.py

对于你的情况,你可以尝试:

script: ./scripts/dotnet-build.sh & ./scripts/dotnet-publish.sh & ./scripts/docker-publish-travis.sh

或类似这样的东西:

script: sh ./scripts/dotnet-build.sh & sh ./scripts/dotnet-publish.sh & sh ./scripts/docker-publish-travis.sh

看看结果如何。

使用yamllint, which you can install, or just copy&paste to a web-based version.

根据问题中的例子,我得到:

(<unknown>): found character that cannot start any token while scanning for the next token at line 7 column 1

第 7 行有一个选项卡。请参阅“A YAML file cannot contain tabs as indentation”。


.travis.yml 文件的另一个在线资源是 http://lint.travis-ci.org/ 除了,此工具不提取制表符。它通常是一个很好的资源。

travis cli 工具有一个 linter

gem install travis

但是,它只给出示例的警告。此外,它目前不适用于所有功能,例如阶段。

$ travis lint
Warnings for .travis.yml:
[x] unexpected key mono, dropping
[x] unexpected key dotnet, dropping