SIC. Copiar l'arxiu de configuració .npmrc

Darrera actualització: 24-01-2021

Introducció

Per a realitzar el procés de construcció d’artefactes via pipeline, el SIC injecta els arxius de configuració de Maven settings.xml i Npm .npmrc dins els contenidors:

  • Imatges Maven: l’arxiu settings.xml s’injecta al directori .m² del home de l’usuari.

  • imatges Maven i Npm: l’arxiu .npmrc s’injecta a l’arrel del directori de treball. Per defecte, a l’arrel del projecte, o bé a la ruta indicada mitjançant la propietat executionDir del fitxer ACA.

Per tant, en el segon cas, si l’arxiu de configuració .npmrc no es troba ubicat al mateix directori que el fitxer package.json que conté les comandes de construcció, el procés de construcció no serà capaç d’establir la comunicació amb Nexus i no es podran descarregar les dependències necessàries, la qual cosa acabarà ocasionant errors de compilació.

Solució

En general, el problema es podrà resoldre simplement especificant la propietat executionDir del fitxer ACA. No obstant això, en el cas d’utilitzar plugins de Maven per a instal·lar i compilar Npm, pot ser necessari fer ús del plugin maven-resources-plugin per a copiar l’arxiu .npmrc a la ruta on es trobi l’arxiu package.json.


Exemple d'arxiu `pom.xml`: ```xml org.apache.maven.plugins maven-resources-plugin 3.2.0 set-npmrc validate copy-resources true ./src/main/angular ./ true .npmrc ... ```

En aquest exemple es pot veure com es copia el fitxer .npmrc de l’arrel del projecte al directori /src/main/angular del projecte.



Per a més informació: https://maven.apache.org/plugins/maven-resources-plugin/.