С пакетом mvn в maven-build я создаю папку (с именем target) с правильными подфайлами и папками. Когда я выполняю его в своей среде разработки, я могу перейти к этапу сборки докера. В Gitlab я получаю сообщение об ошибке: COPY failed: не были указаны исходные файлы. Это происходит на шаге 3/7 в моем Dockerfile. Почему они не знают файл на этапе сборки докера, хотя я создаю артефакт?
Мой .gitlab-ci.yml:
image: maven:latest
stages:
- build
- run
cache:
paths:
- .m2/repository
maven-build:
stage: build
script: mvn package -s .m2/settings.xml
artifacts:
paths:
- target/
docker-build:
image: docker:latest
stage: build
services:
- docker:dind
script:
- docker build . -t generic_test
run:
stage: run
script:
- docker run generictest
Мой докерфайл:
FROM selenium/standalone-firefox
WORKDIR /app
COPY target/*.jar app.jar
COPY *.json .
ENV http_proxy=http://10.127.255.25:8080
ENV https_proxy=http://10.127.255.25:8080
ENTRYPOINT java -jar app.jar /usr/bin/geckodriver
Когда у меня была целевая папка в Gitlab, и мне не нужно было создавать ее раньше, с mvn package
она работала. Вот код, который работал раньше (и да, я должен его создать и не могу оставить в репозитории):
stages:
- build
docker-build:
image: docker:latest
stage: build
services:
- docker:dind
script:
- echo docker build . -t dockertest
- echo docker run dockertest