我试图在我的存储库中设置codecov作为代码覆盖工具。我参考了这个链接通过码头集装箱传递报告-
Link - https://github.com/codecov/support/wiki/Testing-with-Docker
但是崔维斯·奇失败了,给出了这个错误-
docker: Error parsing reference: "..." is not a valid repository/tag.
这是我的travis.yml
sudo: required
dist: trusty
language: node_js
node_js:
- 6
before_install:
- export CHROME_BIN=chromium-browser
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- docker run -v "$PWD/shared:/shared" ...
before_script:
- ng build
script:
- ng test --watch=false
- ng lint
- >
docker run -ti -v $(pwd):/app --workdir=/app coala/base coala --version
after_success:
- bash ./deploy.sh
- bash <(curl -s https://codecov.io/bash)
- mv -r coverage/ shared
cache:
bundler: true
directories:
- node_modules
- .coala-cache
services: docker
branches:
only:
- angular我该怎么解决这个问题?谢谢!
发布于 2017-04-10 19:58:27
我想您是指科德科夫外码头。当前的错误消息已经告诉您,需要用一个真正的Docker存储库名称来替换三个点...,例如node:6-alpine。
您仍然缺少的是在Docker容器中运行测试(包括报表)的部分,以便您可以将测试报告mv到共享文件夹。您可以通过添加一个基于节点的自定义Dockerfile来实现这一点,如下所示。我选择了一个或多或少完整的映像,包括Chrome和其他工具,以使您的用例工作:
FROM markadams/chromium-xvfb-js:7
WORKDIR /proj
CMD npm install && \
node_modules/.bin/ng build && \
node_modules/.bin/ng test --watch=false && \
node_modules/.bin/ng lint && \
mkdir -p shared && \
mv coverage.txt shared需要构建自定义映像,然后像这样运行(假设Dockerfile位于项目根目录中):
docker build -t ci-build .
docker run --rm -v "$(pwd):/proj" ci-build我建议修改.travis.yml如下:
sudo: required
dist: trusty
language: node_js
node_js:
- 6
before_install:
- docker build -t ci-build .
script:
- >
docker run --rm -v $(pwd):/proj ci-build
- >
docker run -ti -v $(pwd):/app --workdir=/app coala/base coala --version
after_success:
- bash ./deploy.sh
- bash <(curl -s https://codecov.io/bash)
cache:
bundler: true
directories:
- node_modules
- .coala-cache
services: docker
branches:
only:
- angular另一个注意事项:coala/base映像的工作方式类似。
https://stackoverflow.com/questions/43330235
复制相似问题