我刚刚开始使用@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
谁能解释出什么问题并提出解决方法?该存储库是私有的,因此我需要提供一些额外的配置来容纳它吗?
答案 0 :(得分:3)
每个作业都在不同的容器中运行。您构建并正确标记了图像,但该图像保留在该容器中。
对于测试作业,将启动一个新容器,并且该容器没有上一个作业构建的映像。
您应将映像推送到注册表(在对其进行相应标记后),然后测试作业应使用存储库中的映像。
您可以使用Docker提供的公共注册表,也可以基于Docker提供的映像注册表运行本地容器:2。在这种情况下,您必须确保指向注册表的域名在您的网络上可用(它可以是带有反向代理的Nginx)