Tengo un proyecto en Java, donde tengo mis pruebas. Ahora tengo .gitlab-ci.yml :
image: maven:latest stages: - build build: stage: build script: - mvn test-compile compile tags: - mytag only: refs: - dev Cada vez que realizo una confirmación en mi repositorio, espero mucho tiempo hasta que descargue todas las dependencias. En la ventana acoplable podemos usar la opción de volumen. La pregunta: ¿Puedo descargar y compilar localmente este proyecto para crear el directorio .m2 y puedo usar este directorio en mi .gitlab-ci.yml ? En caso afirmativo, ¿pueden ayudarme cómo, porque no he encontrado en Internet ejemplos de acuerdo con esto?
Hice cambios en mi /etc/gitlab-runner/config.toml :
[runners.docker] tls_verify = false image = "maven:latest" privileged = true disable_entrypoint_overwrite = false oom_kill_disable = false disable_cache = false volumes = ["/cache","/M2/.m2:/root/.m2"] shm_size = 0 /M2/ es un directorio, con propietario de gitlab-runner. Pero no ayuda, cómo podemos ver:
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom (2.0 kB at 20 kB/s) Downloading from atlas: https://dl.bintray.com/qameta/maven/org/seleniumhq/selenium/selenium-java/3.8.1/selenium-java-3.8.1.pom Downloading from nio: http://clojars.org/repo/org/seleniumhq/selenium/selenium-java/3.8.1/selenium-java-3.8.1.pom Downloading from central: https://repo.maven.apache.org/maven2/org/seleniumhq/selenium/selenium-java/3.8.1/selenium-java-3.8.1.pom Progress (1): 2.2/5.9 kB Progress (1): 5.0/5.9 kB Progress (1): 5.9 kBpasos a seguir: (máquina host - la máquina gitlab - corredor instalado y el corredor firmado)
volúmenes = ["/caché","~/.m2:/raíz/.m2"]
cache: paths: - /root/.m2/
variables: MAVEN_OPTS: "-Dmaven.repo.local=.m2"
el .gilatb.yml debería verse así
FROM maven:3.6.1-jdk-8-alpine COPY pom.xml . RUN mvn verify clean --fail-never
docker build -t xxx/nombreProyecto:base .
Ahora la "imagen base de la ventana acoplable" tiene datos en caché.
Y luego puede usar la "imagen base de la ventana acoplable" en gitlab-ci.yml:
image: xxx/projectName:base stages: - build build: stage: build script: - mvn test-compile compile tags: - mytag only: refs: - dev