我尝试使用GitHub,Travis CI和AWS ECS创建CI管道。当我推送提交主分支时,我在travis CI中收到错误:'无法解析.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 restore
dotnet build
dotnet publish ./BookMeMobi2 -c Release -o ./bin/Docker
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
我不知道问题出在哪里。你可以帮帮我吗?
答案 0 :(得分:2)
使用yamllint,您可以安装它,也可以将其粘贴并粘贴到web-based version。
通过问题中的示例,我得到:
(
):找到的字符在扫描第7行第1列的下一个令牌时无法启动任何令牌
第7行有一个标签。请参见“ A YAML file cannot contain tabs as indentation”。
答案 1 :(得分:0)
我有类似的问题。就我而言,我使用python启动了两个脚本。我和您一样,一开始就将它们一个接一个地连字符。因此,我进行搜索,发现可以将所有脚本放在同一行中,并在每个脚本之间加上“&”,从而摆脱了连字符。
我所拥有的:
class base
{
friend std::ostream& operator<<(std::ostream& output, const base& b)
{
b.print(output);
return output;
}
virtual void print(std::ostream& output) const {
output << // base details...
}
public:
virtual ~base() = default;
};
class derived : public base
{
virtual void print(std::ostream& output) const override {
output << // derived details...
}
};
更改为:
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
看看效果如何。
答案 2 :(得分:0)
travis cli工具具有短绒棉
gem install travis
但是,该示例仅给出警告。另外,它当前不适用于所有功能,例如阶段。
$ travis lint
Warnings for .travis.yml:
[x] unexpected key mono, dropping
[x] unexpected key dotnet, dropping