向 .travis.yml 文件添加更多配置后,TravisCI 没有运行

Posted

技术标签:

【中文标题】向 .travis.yml 文件添加更多配置后,TravisCI 没有运行【英文标题】:TravisCI did not run after adding more configuration to .travis.yml file 【发布时间】:2019-07-15 22:20:57 【问题描述】:

我将一些 AWS 密钥添加到我的 .travis.yml 文件中,以便它将我的应用程序部署到 ElasticBeanstalk,但是在我提交对文件的更改并推送到 master 之后,什么也没发生。

我想也许我需要重新开始构建。这添加了我的 AWS 密钥,但没有像我预期的那样安装部署依赖项,也没有部署到 AWS。

不确定这里发生了什么。我是不是等待 TravisCI 开始新构建的时间不够长?

这是我的.travis.yml 文件:

sudo: required
services:
  - docker

before_install:
  - docker build -t danale/project-name -f Dockerfile.dev .

script:
  - docker run danale/project-name npm run test -- --coverage

  deploy:
    provider: elasticbeanstalk
    region: "us-east-1"
    app: "project-name"
    env: "ProjectName-env"
    bucket_name: "elasticbeanstalk-us-east-1-123456789"
    bucket_path: "project-name"
    on:
      branch: master
    access_key_id: $AWS_ACCESS_KEY
    secret_access_key: 
      secure: "$AWS_SECRET_KEY"

我进行了git add . && git commit -m "added travis deploy script" && git push origin master

之后没有部署。我查看了我的请求日志,它似乎是一个解析错误,在此处引用此行时在文件末尾没有新行:secure: "$AWS_SECRET_KEY"。我尝试删除双引号,但也没有解决它。

【问题讨论】:

travis 日志是怎么说的?如果您还原更改,事情是否会按照您的预期运行? @nicholas.hauschild,日志没有提供第一次构建的新信息。它只是显示了我在 TravisCI 中手动添加的 AWS 密钥 【参考方案1】:

.yml 文件的一个令人头疼的问题是缩进。所以我在请求选项卡中遇到的解析错误是说没有添加换行符。我不清楚这是否意味着它需要一个新行或缺少一个新行,但是通过运行:wc -l .travis.yml 我能够检测到它没有输出正确的行数。

我尝试了大约五种不同的方法来格式化 .yml 文件,使其能够让我专注于错误指向的文件行号的末尾。

我碰巧发现 deploy: 脚本的开头没有正确对齐,所以我用 shift+tab 进行了调整,在我正确对齐后,TravisCI 识别了我的更改并正确运行脚本并成功将应用程序部署到 Elasticbeanstalk。

【讨论】:

以上是关于向 .travis.yml 文件添加更多配置后,TravisCI 没有运行的主要内容,如果未能解决你的问题,请参考以下文章

Travis 以 65 代码退出,无法创建捆绑实例

如何使用 travis ci 配置 SSH 连接?

Firebase Github Deploy无法解析travis.yml

.yml文件是啥,怎么书写?

Travis.yml ./gradlew:权限被拒绝

如何在Travis CI中打印到控制台