Esta entrada describe las normas a aplicar para la gestión de dependencias en el ámbito de la Plataforma Pre-Cloud.
Nota: Gran parte de las normativas definidas a continuación están orientadas aunque no limitadas a tecnologías basadas en Java, debido al alto índice de uso de la misma. Sin embargo muchos de los procesos y normas ya definidos son independientes del stack tecnológico.
Uso del repositorio de artefactos
Obligatorio
El uso del repositorio de artefactos para la compilación y empaquetado, cuando esté disponible para la tecnología utilizada en el proyecto, es obligatorio.
El repositorio a utilizar es el especificado en Plataforma CI/CD en la Plataforma Pre-Cloud en el apartado Repositorio de artefactos (Jfrog Artifactory).
Obligatorio
Para los artefactos generados y que deban desplegarse en el repositorio, se han habilitado los repositorios especificados en Plataforma CI/CD en la Plataforma Pre-Cloud en el apartado Enlaces. Estos se deben utilizar si se quiere automatizar la subida de los artefactos (y el sistema aún no está integrado con el circuito de integración continua). Si el sistema está integrado en el circuito de integración continua, esto no será necesario, ya que el pipeline de integración se encarga de automatizar el proceso.
Se aprecia como tanto ja-internal como ja-external se organizan internamente prácticamente de la misma manera. La única excepción es que ja-external no integra el repositorio ja-non-free-repo para evitar problemas de licenciamiento de librerías de terceros.
Patrones de inclusión
Obligatorio
Los patrones de inclusión aceptados por el repositorio son:
- es/juntadeandalucia/**
Se admitirán por compatibilidad los siguientes, no debiendo usarse para nuevos desarrollos:
- es/junta-andalucia/**
- es/jda/**
Es decir, toda aquella dependencia que no tenga como groupID es.junta-andalucia** o es.juntadeandalucia.** o es.jda.** será rechazada para la subida.
Subida de artefactos de terceros
Obligatorio
La publicación de artefactos de terceros será canalizada a través de la Oficina de Impulso DevSecOps, que es la encargada de administrar la herramienta, por lo que todo proveedor o Director de Proyecto que necesite resolver un artefacto concreto desde su Sistema de Información necesitará realizar una solicitud.