在Gitlab运行程序中的Docker容器内运行测试命令时出现问题

时间:2019-05-06 18:17:15

标签: docker gitlab gitlab-ci gitlab-ci-runner

我刚刚开始使用@Getter @Setter @AllArgsConstructor @ToString public static class MyEvent implements Comparable<MyEvent> { private String abbreviation; private LocalDateTime eventTime; @Override public int compareTo(MyEvent o) { return eventTime.compareTo(o.eventTime); } } 并与docker进行持续集成。我已将以下Gitlab文件添加到我的存储库的根目录:

gitlab-ci.yml

# Official docker image image: docker:latest services: - docker:dind build-dev: stage: build script: - docker build -t obikerui/project -f app/Dockerfile.dev ./app test: stage: test script: - docker run obikerui/project npm run test -- --coverage 阶段运行并通过,但是build-dev阶段失败,并显示以下错误消息:

test

谁能解释出什么问题并提出解决方法?该存储库是私有的,因此我需要提供一些额外的配置来容纳它吗?

1 个答案:

答案 0 :(得分:3)

每个作业都在不同的容器中运行。您构建并正确标记了图像,但该图像保留在该容器中。

对于测试作业,将启动一个新容器,并且该容器没有上一个作业构建的映像。

您应将映像推送到注册表(在对其进行相应标记后),然后测试作业应使用存储库中的映像。

您可以使用Docker提供的公共注册表,也可以基于Docker提供的映像注册表运行本地容器:2。在这种情况下,您必须确保指向注册表的域名在您的网络上可用(它可以是带有反向代理的Nginx)