Ошибка копирования GitLab CI: stat / var / lib / docker / tmp / docker-builder191433069 / target / dependency / BOOT-INF / lib: такого файла или каталога нет - PullRequest
0 голосов
/ 03 ноября 2018

У меня следующая структура Spring microservices

ui/
    Dockerfile 
    pom.xml
gateway/
    Dockerfile
    pom.xml
api/
    Dockerfile
    pom.xml

Мой файл .gitlab-ci.yml выглядит так:

image: docker:latest
services:
- docker:dind

variables:
  DOCKER_DRIVER: overlay
  DOCKER_HOST: tcp://docker:2375
  MAVEN_OPTS: "-Dmaven.repo.local=.m2"
  TAG: 0.0.1-SNAPSHOT

stages:
- test
- install

cache:
  paths:
  - ui/node
  - ui/node_modules
  - .m2/

.chrome_template: &chrome_definition  # Hidden key that defines an anchor named 'job_definition'
  image: maven:3-jdk-8
  before_script:
  - "apt-get -qq -y install wget"
  - "wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - "
  - "sh -c 'echo \"deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main\" >> /etc/apt/sources.list.d/google-chrome.list'"
  - "apt-get -y update"
  - "apt-get -y install google-chrome-stable"

maven-build:
  <<: *chrome_definition
  stage: test
  script: "mvn test -X"
  artifacts:
    paths:
    - ui/target/*
    - api/target/*
    - gateway/target/*

docker-install:
  stage: install
  before_script:
  - docker info
  script:
  - docker build -t tenentedan9/ui:$TAG ui/
  - docker build -t tenentedan9/gateway:$TAG gateway/
  - docker build -t tenentedan9/api:$TAG api/

Принимая во внимание, что файл Docker выглядит следующим образом:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY target/dependency/BOOT-INF/lib /app/lib
COPY target/dependency/META-INF /app/META-INF
COPY target/dependency/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*","it.goodfellas.UiApplication"]

Имеет две фазы: тестирование и установка. На этапе тестирования выполняются все предыдущие фазы maven. В то время как на этапе установки образы докеров создаются.

Тем не менее, я получаю следующую ошибку при попытке построить изображения:

Status: Downloaded newer image for openjdk:8-jdk-alpine
---> 97bc1352afde
Step 2/7 : VOLUME /tmp
---> Running in 290e32fa9f55
Removing intermediate container 290e32fa9f55
---> 1974a08ea0dd
Step 3/7 : ARG DEPENDENCY=/target/dependency
---> Running in 307682e3ca59
Removing intermediate container 307682e3ca59
---> 6e31580abba1
Step 4/7 : COPY target/dependency/BOOT-INF/lib /app/lib
COPY failed: stat /var/lib/docker/tmp/docker-builder191433069/target/dependency/BOOT-INF/lib: no such file or directory
...