无法解析 .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
我正在尝试使用 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