作者:手机用户2502885441 | 来源:互联网 | 2022-12-07 14:31
我有一个.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
deploy.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中这种方式导致失败的原因是什么?
1> rosalindwill..:
对于那些好奇的人来说,这是系统告诉我尝试对.dockerignore
文件中的项目进行正则表达式匹配时出错的方式(即该文件中包含语法错误-在这种情况下,我使用反斜杠代替)文件路径上的正斜杠)。漂亮而神秘;我必须仔细研究Docker源代码以了解正在发生的事情。
希望这可以帮助其他人遇到同样的问题!:)