¿Cuál debe ser el archivo .gitlab-ci.yml que activa Gitlab para construir un proyecto y ejecutar pruebas?

Pasha:

Tengo un proyecto de 11 Gradle Java que reside en Gitlab. Quería introducir gitlab-ci.ymla la fuerza Gitlab para construir un proyecto y ejecutar pruebas en cada pulsación a una rama remota.

¿Cuál debería ser similar?

Estoy bastante seguro de que una pregunta similar ya se ha pedido, pero no pude encontrarlo, así que aprecio su ayuda.

Justin Albano:

Gitlab proporciona una descripción oficial del .gitlab-ci.ymlarchivo, pero que podría ser un poco largo para empezar a salir de la puerta. Para un proyecto básico, puede utilizar el siguiente como base:

image: gradle:jdk11

before_script:
  - export GRADLE_USER_HOME=`pwd`/.gradle

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

package:
  stage: build
  script:
    - ./gradlew assemble

test:
  stage: test
  script:
    - ./gradlew check

Tenga en cuenta que la imageetiqueta se establece en maven:latesten muchos ejemplos, pero para que Gitlab para compilar el proyecto usando JDK 11, la imageetiqueta debe ajustarse a maven:3-jdk-11. El GRADLE_USER_HOMEse ajusta a la .gradledel directorio actual que el guión se lee de asegurar que el medio ambiente Gradle está configurado correctamente antes de iniciar la construcción.

La cachesección se definen los caminos que Gitlab CI debe buscar los artefactos y las dependencias de caché (que, por una acumulación Gradle, es .gradle/wrappery .gradle/cache). Construye puede tardar mucho tiempo en ejecutarse, ya que cada construcción requiere la descarga de todas las dependencias cada vez que se ejecuta la acumulación; a acelerar este proceso, el almacenamiento en caché puede ser incluido para eliminar la necesidad de descargar repetidamente dependencias. Los detalles para el almacenamiento en caché pueden variar para su proyecto. Ver el oficial de cachela documentación para obtener más información.

El assembley checkpasos sólo tiene que ejecutar gradle assembley gradle check, respectivamente. Mientras que gradle testsería suficiente en muchos casos (en oposición a gradle check, el checkpaso incluye testincluyendo también otras medidas de verificación. Para más información sobre la diferencia entre checky test, ver diferencia Gradle entre la prueba y de verificación .

Para obtener más información, consulte la siguiente:


Equivalente ejemplo Maven:

image: maven:3-jdk-11

variables:
  MAVEN_CLI_OPTS: "--batch-mode"
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"

cache:
  paths:
    - .m2/repository/
    - target/

package:
  stage: build
  script:
    - mvn $MAVEN_CLI_OPTS package

test:
  stage: test
  script:
    - mvn $MAVEN_CLI_OPTS test

La --batch-modebandera se ejecuta Maven con valores por defecto y no pide al usuario que seleccione ningún defecto. El -Dmaven.repo.local=.m2/repositoryconfigura el repositorio local a la ubicación en el servidor de compilación (Gitlab). que desempeña en la capacidad de almacenamiento en caché de Gitlab. Construye puede tardar mucho tiempo en ejecutarse, ya que cada construcción requiere la descarga de todas las dependencias cada vez que se ejecuta la acumulación; a acelerar este proceso, el almacenamiento en caché puede ser incluido para eliminar la necesidad de descargar repetidamente dependencias. Los detalles para el almacenamiento en caché pueden variar para su proyecto. Ver el oficial de cachela documentación para obtener más información.

El packagey testpasos sólo tiene que ejecutar mvn packagey mvn test, respectivamente (con las opciones Maven descrito anteriormente).

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=120188&siteId=1
Recomendado
Clasificación