@siclik-demo/protocol-buffers
v1.0.1
Published
Módulo encargado de centralizar los protos de siclik
Downloads
1
Readme
Librería de protos
Esta librería esta encargada de centralizar los archivos proto para la comunicación entre los diferentes micro servicios de siclik.
Cada vez que un archivo proto se modifique o se cree uno nuevo, es necesario actualizar la librería siguiendo la arquitectura de la siguiente manera:
.
|── helpers
| └─ proto-paths.json //paths de los protos
|── proto-files //contenedor de protos por servicio
| └─ users
| └─ read.proto //archivos proto
| └─ write.proto
| └─ customers
| └─ products
| └─ ....
|── .eslintrc.js
|── .gitignore
|── index.js //se carga el proto para ser usado
|── test.js //archivo de pruebas
|── package.json
|── yarn.lock
.
Realizar pruebas en local
Empaquetar el modulo
Cuando deseamos realizar cambios o ajustes en nuestro modulo y tenemos la necesidad de probar los cambios, tenemos que realizar una serie de pasos para poder empaquetarlo e instalarlo en el api u otro modulo donde sera utilizado.
1 - Empaquetamos el modulo:
$ npm pack
Esto nos genera un archivo .tgz con el nombre de nuestro proyecto, (para mantener un orden en las pruebas se puede renombrar el archivo solo concatenando la versión ejem. protoBufV2.tgz)
2 - Listar contenido en el archivo .tgz:
$ tar -tf <Nombre del archivo .tgz>
Instalar el paquete
Cuando tenemos nuestro modulo terminado y empaquetado en un archivo .tgz ahora podemos proceder a instalarlo para realizar pruebas con el como un modulo de npm
.
Para lograr esto primero tenemos que saber la ubicación del paquete en nuestra maquina, posteriormente con un simple comando podemos instalarlo en el proyecto.
// Con el gestor de paquetes NPM
$ npm install ../<ubicación del paquete>.tgz
// Con el gestor de paquetes YARN
$ yarn add ../<ubicación del paquete>.tgz
Actualizar versión
Una vez que se realizaron las modificaciones necesarias para hacer uso de los archivos protos en la librería, se debe actualizar la versión de la misma desde el archivo de configuración o package.json
desde la raiz del proyecto siguiendo un versionado semántico.
{
"name": "@compusoluciones/protocol-buffers",
"version": "0.0.9", // versión del proyecto
"description": "Módulo encargado de centralizar los protos que usaran los micro servicios de siclik.",
"main": "index.js",
}
Publicar modulo en NPM
Cuando las modificaciones a la librería se hayan realizado correctamente y se valido su correcto funcionamiento, es necesario publicar en npm
la nueva versión para mantenerla al dia con los protos que usan l os micro servicios.
Pasos para publicar una nueva versión se debe seguir los siguientes pasos.:
- Tener una cuenta de
npm
con el correo de la empresa @compusoluciones - Acceso a la organización compusoluciones dada por una administrador de la misma.
- Permisos para publicar en la organización.
- Tener instalado el gestor de paquetes
npm
en tu maquina. - Asociar
npm
a tu cuenta connpm login
(solo la primera vez). - Publicar con
npm publish --access=public
Modo de uso
Una vez que la nueva versión de la librería haya sido liberada y avisado al equipo de los cambios por medio del grupo en slack
, es necesario indicar de la nueva versión al modulo de grpc-connections
ya que esta es la que consume directamente la librería de protos y no podremos hacer uso de ella hasta no realizar estos cambios.
Cuando grpc-connections
haya sido actualizada desde su package.son y publicada en npm
con los cambios también se debe realizar el mismo procedimiento con los micro servicios que consumirán ambos módulos desde node.