casosf-commons-npm v1.0.6
NPM
Acá encontrarás las definiciones por default para los CI para compilar y desplegar en Nexus, este es un trabajo colaborativo del equipo de DevOps. Ante cualquier duda o sugerencia, por favor contectarnos a través del canal de Slack #gitlab-openshift
Steps
Los pasos estándar varían ligeramente según las tecnologías. Mínimamente, una pipeline debería consistir de:
- build
- test
- pack
- quality
- validator
- security
- publish
Estos steps se ejecutan siempre que se puedan con un Gitlab Runner tipo BASH DOCKER.
GitFlow
Como Existe un unico nexus cuya dirección es http://nexus.ar.bsch/ , este solo se publica en la rama master permitiendo tener distintas versiones de código y solo publicar la necesaria cuando llega a Master
Nexus
Se verifica que el repositorio de Nexus exista o se crea automaticamente con la pipeline, esto se hace a través de las variables del archivo: .ci-variables.yml
Para la subida de artefactos a nexus se utiliza un archivo json llamado artifacts
USO DE artifacts.json
{
"artifacts": [
{
"UPLOAD_ARTIFACT": "[GROUP]-[NAME]-[SEMVER].tgz"
}
]
}
Pablo Novas genero un script de Node para automatizar la generación de este file ( Solo 1 artefacto en el siguiente confluence https://confluence.ar.bsch/pages/viewpage.action?pageId=35233336
Si se tiene más de un artfacto se lo agrega en el json separado por coma
Tomar de ejemplo el que se encuentra en este repositorio con todas sus VARIABLES ya definidas
USO DE .CI-VARIABLES Y TEMPLATES
Para que el uso de los templates funcione correctamente, es requerido que las variables definidas en este archivo cotnengan un valor. No se podrán modificar el nombre de las variables. Solo se puede modificar el valor de la derecha, en caso de no modificar se tomara el valor que esta por defecto en este archivo.
.ci-variables.yml
variables:
#### Configuración Nexus ####
TECHNOLOGY: "npm" # Este valor siempre debe estar en minuscula
REPOSITORY_TYPE: "hosted"
REPOSITORY_NAME: "TemplateNPMNexus"
#### Versión de NPM a utilizar. Puede ser 8, 10, o 12 ####
NPM_VERSION: '12'
#### QUALITY SONAR ####
TECNOLOGY: "npm"
SONAR_EXCLUSIONS_FILES: ""
SONAR_TEST_PATH_JUNIT: ""
- Consultas por Slack por el canal #gitlab-openshift