Насколько я понимаю, вы используете глобальный кеш для зависимостей gradle.Чем вы хотите иметь какую-то работу, в кеш заданий.
Я бы сделал это более или менее так.
stages:
- build
- test
cache:
paths:
- <your_gradle_cache>
build_classes:
stage: build
script:
- ./gradlew build --build-cache --quiet
artifacts:
expire_in: 1d
paths:
- <your_build_dir>
build_war:
stage: build
dependencies:
- build_classes
script:
- ./gradlew buildDiff --build-cache --quiet
artifacts:
expire_in: 1w
paths:
- <path_to_your_war>
test_classes:
stage: test
dependencies:
- build_war
script:
- ./gradlew test --build-cache
test_war:
stage: test
dependencies:
- build_war
script:
- test # some kind of test to assure your war is in good condition
В этой конфигурации:
build_classes --[.classes]--> build_war -> [.war]
| |
[.classes] [.war]
| |
V V
test_classes test_war
PS.Не забывайте, что вы можете использовать shell
(или любую другую ОС вашего бегуна) для отладки, узнайте больше об этом.Вы можете поставить ls -la
повсюду.