Использование кэша в pipeline gitlab-ci

В файле gitab-ci.yaml прописал две джобы

stages:
  - build
  - buildtwo  

build-job:
  tags:
    - upload-dev-docker
  stage: build
  image: maven
  cache:
    key: $CI_COMMIT_REF_SLUG
    paths:
      - ./.m2
  script:
    - mvn compile

buildtwo-job:
  tags:
    - upload-dev-docker
  stage: buildtwo
  image: maven
  script:
    - mvn compile -DlocalRepositoryPath=./.m2

Пробовал и так

- mvn compile -Durl=file:./.m2/ -DrepositoryId=local-maven-repo

и так

- mvn compile -Dmaven.repo.local=./.m2/repository

В первую добавил кэш и ключ использовать его во всех джобах. Но вторая джоба все равно качает файлы из сети, а не берет их из кеша. Что я делаю не так?


Ответы (2 шт):

Автор решения: Rabban Keyak

Я бы на вашем месте попробовал объявить в той джобе, которая должна получать кеш, в needs ту джобу, которая кеш сохраняет. Что-то вроде

  needs:
  - build-job
→ Ссылка
Автор решения: alezhu

Во второй джобе параметры cache повторите просто

→ Ссылка