【问题标题】:Docker build fails in Travis CI - "Error checking context: 'syntax error in pattern'"Travis CI 中的 Docker 构建失败 - “错误检查上下文:‘模式中的语法错误’”
【发布时间】:2019-01-24 02:50:26
【问题描述】:

我有一个 .NET Core 2.1 项目,在对其运行测试后,我正在 Travis CI 中使用 Docker 构建该项目。 我的 travis 构建的相关部分(我认为):

.travis.yml:

deploy:
  - provider: script
    script: ./deploy.sh $TRAVIS_TAG $DOCKER_USERNAME $DOCKER_PASSWORD
    skip_cleanup: true
    on:
      tags: true

部署.sh:

#!/bin/bash
set -ev

TAG=$1
DOCKER_USERNAME=$2
DOCKER_PASSWORD=$3
echo "$TAG"
echo "$DOCKER_USERNAME"
echo "$DOCKER_PASSWORD"
docker build -t $DOCKER_USERNAME/rpthreadtrackerv3.backend .
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
docker push $DOCKER_USERNAME/rpthreadtrackerv3.backend:latest

我对 Docker 还是很陌生,所以我很确定我在做一些明显错误的事情,但是,当我的构建中的 deploy 步骤运行时,输出是:

令人困惑的是,我很确定这曾经有效,然后就停止了。

还有,运行

docker build -t $DOCKER_USERNAME/rpthreadtrackerv3.backend .

从我的本地命令行运行得非常好。

Google 对这条错误消息的含义完全保持沉默,世界上似乎没有人遇到过它,但我却有点困惑。什么可能导致 docker build 在 Travis 中以这种方式失败?

【问题讨论】:

    标签: docker asp.net-core dockerfile travis-ci


    【解决方案1】:

    对于那些好奇的人,结果证明这是系统告诉我尝试对我的 .dockerignore 文件中的项目进行正则表达式匹配时出错的方式(即该文件中存在语法错误 - 在此情况下,我的文件路径上有反斜杠而不是正斜杠)。漂亮而神秘;我不得不深入研究 Docker 源代码来弄清楚发生了什么。

    希望这可以帮助遇到同样问题的其他人! :)

    【讨论】:

    • 非常感谢 - 这个提示拯救了我的一天
    • 支持回来回答你自己的问题。节省了我很多时间和头痛
    • 非常感谢。我在 Azure DevOps 中遇到了同样的问题,并且在我的本地进行了很多故障排除,一切都很好,最后这节省了我的时间。
    • 好指针。对我来说,这是一个 .dockerignore 文件导致 linux 构建代理出现问题,但这为我指明了正确的方向。
    • 非常有帮助,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多