Anpks
Anpks

Reputation: 11

Drone Pipeline : Drone Cache mount path for Maven Repository not able to resolve

I'm new to Drone pipeline and is interested to use it in my current project for CICD. My project tech stack is as follows:

  1. Java
  2. Spring Boot
  3. Maven

I have created a sample drone pipeline, but not able to cache the maven dependencies which is downloaded and stored in .m2 folder. Always say the mount path is not available or not found. Please find the screen shot for the same:

Drone mount path issue

Not sure of the path to provide here. Can someone help me to understand the mount path which we need to provide to cache all the dependencies in .m2 path. Adding the pipeline information below:

kind: pipeline
type: docker
name: config-server

steps:

name: restore-cache
image: meltwater/drone-cache
pull: if-not-exists
settings:
backend: "filesystem"
restore: true
cache_key: "volume"
archive_format: "gzip"
mount:
- ./target
- /root/.m2/repository
volumes:
name: cache
path: /tmp/cache

name: build
image: maven:3.8.3-openjdk-17
pull: if-not-exists
environment:
M2_HOME: /usr/share/maven
MAVEN_CONFIG: /root/.m2
commands: 
mvn clean install -DskipTests=true -B -V
volumes:
name: cache
path: /tmp/cache

name: rebuild-cache
image: meltwater/drone-cache
pull: if-not-exists
settings:
backend: "filesystem"
rebuild: true
cache_key: "volume"
archive_format: "gzip"
mount:
- ./target
- /root/.m2/repository
volumes:
name: cache
path: /tmp/cache

trigger:
branch:
main
event:
push

volumes:
name: cache
host:
path: /var/lib/cache

Thanks in advance..

Upvotes: 0

Views: 781

Answers (1)

Anpks
Anpks

Reputation: 11

Resolved the issue. Please find the solution below and working drone pipeline.

kind: pipeline
type: docker
name: data-importer

steps:

- name: restore-cache
  image: meltwater/drone-cache
  pull: if-not-exists
  settings:
    backend: "filesystem"
    restore: true
    ttl: 1
    cache_key: "volume"
    archive_format: "gzip"
    mount:
      - ./.m2/repository
  volumes:
  - name: cache
    path: /tmp/cache
    
- name: maven-build
  image: maven:3.8.6-amazoncorretto-11
  pull: if-not-exists
  commands:
    - mvn clean install -DskipTests=true -Dmaven.repo.local=.m2/repository -B -V
  volumes:
  - name: cache
    path: /tmp/cache
   
- name: rebuild-cache
  image: meltwater/drone-cache
  pull: if-not-exists
  settings:
    backend: "filesystem"
    rebuild: true
    cache_key: "volume"
    archive_format: "gzip"
    ttl: 1
    mount:
      - ./.m2/repository
  volumes:
  - name: cache
    path: /tmp/cache
    
trigger:
  branch:
  - main
  - feature/*
  event:
  - push
  
volumes:
  - name: cache
    host:
      path: /var/lib/cache

Upvotes: 1

Related Questions