0% encontró este documento útil (0 votos)
6 vistas16 páginas

Guía de Implementación de Liquibase

El documento proporciona una guía para la implementación de Liquibase en entornos Oracle, enfocándose en el control de versiones y la automatización de despliegues de bases de datos. Incluye procedimientos para la creación de ambientes de referencia, copias de seguridad, gestión de usuarios y configuración de repositorios. Además, detalla la creación de secretos en AWS y considera aspectos de seguridad y colaboración entre equipos.

Cargado por

Diego Nisperuza
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas16 páginas

Guía de Implementación de Liquibase

El documento proporciona una guía para la implementación de Liquibase en entornos Oracle, enfocándose en el control de versiones y la automatización de despliegues de bases de datos. Incluye procedimientos para la creación de ambientes de referencia, copias de seguridad, gestión de usuarios y configuración de repositorios. Además, detalla la creación de secretos en AWS y considera aspectos de seguridad y colaboración entre equipos.

Cargado por

Diego Nisperuza
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Liquibase

Liquibase
Oracle On Premises

Contenido
1. CONTROL DE VERSIÓN................................................................................................................2
2. GENERALIDADES.........................................................................................................................2
3. TAREAS........................................................................................................................................2
4. ¿Qué es Liquibase?.................................................................................................................3
5. Implementación Liquibase......................................................................................................3
5.1. Despliegue de la RDS de REFERENCIA..............................................................3
5.2. Copias de seguridad.......................................................................................... 3
5.3. Usuarios de conexión, esquema y roles............................................................3
5.4. Repositorio Datical Database Manager (DDM)...................................................5
6. Creación de secretos AWS.....................................................................................................8
6.1. Configuración del repositorio Cloud_aw1192003_database_secrets..................8
6.2. Configuración de Pipelines Library..................................................................10
6.3. Creación y configuración del Pipeline..............................................................12
7. Consideraciones.....................................................................................................................15
7.1. Scripts o comandos git sugeridos....................................................................15
7.2. Inclusión de la nueva base de datos a la CMDB..............................................15
7.3. Registro CyberArk........................................................................................... 15
7.4. Reglas de firewall............................................................................................ 16

Dirección Disponibilidad Servicios TI


Liquibase

[Link] DE VERSIÓN
Fecha de Acción Nombre del
Modificación Descripción
Versión C: Creación responsable Aprobado Por
DD/MM/AAAA M: Modificación
breve del cambio
del cambio
1 26/05/2020 Angel David Jimenez Implementación Jose Rolando
C
Pacheco Liquibase en Oracle
2 12/04/2021 M Angel David Jimenez Cambio nuevas políticas Ricardo Ruiz.
Pacheco de nube de acuerdo IaC,
prisma cloud.
3 21/09/2021 M Angel David Jimenez Cambio de plantilla y Ricardo Ruiz.
Pacheco depuración del texto
4 13/01/2022 M Antonieta Duran Cambio secretos

[Link]

Objetivo

Guiar al DBA en la implementación de la herramienta Liquibase, para la correcta


ejecución y puesta en marcha del proceso.

Descripción general del instructivo.

Describe el paso a paso de la implementación de la herramienta Liquibase para


los despliegues de bases de datos de forma automática en los diferentes
ambientes, mediante colaboración eficiente, sencilla y segura entre los proyectos.

[Link]

TAREAS RESPONSABLE
Gestionar el despliegue de la RDS para la base de datos de
REFERENCIA, este se debe de realizar en la cuenta de DBA
desarrollo.
Realizar Backup solo DDL de la base de datos de producción
DBA
y restaurar está en la base de datos de REFERENCIA.
Creación de usuarios, tablespace, esquema, soportada
DBA
mediante pedido USD o USM.
Creación y configuración del repositorio DDM DBA

Dirección Disponibilidad Servicios TI


Liquibase

4.¿Qué es Liquibase?
Liquibase es la herramienta seleccionada por la organización para implementar Devops sobre
bases de datos.

Permite rastrear, versionar y desplegar los cambios de código de la base de datos de forma
automática en los diferentes ambientes, mediante colaboración eficiente, sencilla y segura entre los
equipos.

Nota: Datical fue adquirida por Liquibase, por tanto, ahora Liquibase es el nombre oficial de la
herramienta.

[Link]ón Liquibase
5.1. Despliegue de la RDS de REFERENCIA.

El DBA se encargará de gestionar la creación del ambiente de referencia, para el caso de Oracle
es una nueva instancia que es instalada en el servidor de ambiente QA. Esta base de datos, como
es una copia de solo estructura, los parámetros de hardware puede ser mínimos de acuerdo al
criterio que considere el DBA y de acuerdo a los recursos con los que cuente.

5.2. Copias de seguridad.

El DBA realizará una copia de seguridad de la base de datos de producción, se requiere que este
solamente sea a nivel de solo estructura (DDL), debido a que este será el insumo de partida del
nuevo ambiente de REFERENCIA.

Una vez realizado el backup, se debe de restaurar en la base de datos de REFERENCIA. Para
nombrar la base de datos se tiene en cuenta en siguiente estándar:

Debe de estar compuesta por 8 caracteres en donde los cinco primeros caracteres está
relacionado con el nombre de la aplicación, el sexto carácter al ambiente (Referencia R) y los
últimos dos caracteres serán siempre estáticos DB.

Ejemplo: MEMAGRDB

5.3. Usuarios de conexión, esquema y roles.

Para Liquibase es importante contar con los siguientes usuarios y esquema:

DB REF: CNXDATIR
DB QA: CNXDATIQ
DB PDN: CNXDATIP
Esquema: DATICAL_TRACKING (Se debe crear bloqueado, no es usuario de conexión)
Roles: DATICAL_ROLE, DATICAL_PACKAGER_ROLE, DATICAL_TRACK_ROLE

Dirección Disponibilidad Servicios TI


Liquibase

Ambiente de referencia

Para solicitar la creación de los usuarios, esquemas y permisos se debe modificar el script de
acuerdo a la base de datos correspondiente y adjuntarlo en un pedido USD a la siguientes
categoría: Paso a Ambientes NO [Link] BD´s e Infra [Link]
de Datos .

Scripts sugeridos:

[Link]
[Link]?id=%2Fsites%2FBasesdedatos%2FDocumentos%20compartidos%2FCluster
%20Innovacion%20y%20Desarrollo%2FDatical%2FScriptsSQL%5FDatical%2FOracle%2F1%2E
%20REF&viewid=a621a255%2D4c80%2D4414%2Db32c%2D4d8412e95f52

Ambiente de certificación.

Para solicitar la creación de los usuarios, esquemas y permisos se debe modificar el script de
acuerdo a la base de datos correspondiente y adjuntarlo en un pedido USD a la siguientes
categoría: Paso a Ambientes NO [Link] BD´s e Infra [Link]
de Datos.

Scripts sugeridos:

[Link]
[Link]?id=%2Fsites%2FBasesdedatos%2FDocumentos%20compartidos%2FCluster
%20Innovacion%20y%20Desarrollo%2FDatical%2FScriptsSQL%5FDatical%2FOracle%2F2%2E
%20QA&viewid=a621a255%2D4c80%2D4414%2Db32c%2D4d8412e95f52

Ambiente de producción.

Se debe de solicitar mediante pedido USM por cada uno de los siguientes ítems por medio de la
ruta Home->Servicios Basicos de TI -> Base de Datos -> Gestion de Usuarios en USM.

 Creación del role: DATICAL_ROLE


 Creación del role: DATICAL_TRACK_ROLE
 Creación del usuario de conexión: CNXDATIP
 Creación del usuario esquema: DATICAL_TRACKING

Así mismo se crea el TABLESPACE en la siguiente categoría por orden de cambio (USD): Cambio
en [Link] de Datos.

Scripts sugeridos:

[Link]
[Link]?id=%2Fsites%2FBasesdedatos%2FDocumentos%20compartidos%2FCluster
%20Innovacion%20y%20Desarrollo%2FDatical%2FScriptsSQL%5FDatical%2FOracle%2F3%2E
%20PDN&viewid=a621a255%2D4c80%2D4414%2Db32c%2D4d8412e95f52

Dirección Disponibilidad Servicios TI


Liquibase

5.4. Repositorio Datical Database Manager (DDM)

Este repositorio es utilizado por la herramienta para registrar la metadata de los cambios, cada vez
que se realiza el proceso de empaquetamiento, LIQUIBASE crea un "changeset", el cual define las
operaciones a ejecutar en la base de datos de destino. Un "changeset" puede estar compuesto por
uno o más scripts sql.

Nota: Este repositorio solo puede ser administrado por los equipos de bases de datos y Devops.

Pasos para la configuración del repositorio DDM.

1. Para la creación del repositorio la debe de realizar el movilizador Devops del proyecto,
mediante el uso del pipeline AW1192003_DevOps_Operations_Repository

[Link]
%20Tecnolog%C3%ADa/_wiki/wikis/Vicepresidencia%20Servicios%20de%20Tecnolog
%C3%[Link]/16678/Extensi%C3%B3n-para-Movilizadores-(Creaci%C3%B3n-de-Repos-
asignaci%C3%B3n-de-permisos-asignaci%C3%B3n-de-build-a-PR)

2. El nombre del repositorio debe de cumplir con el siguiente estándar de nombramiento: Los
primeros 9 caracteres corresponde el AW o NU del proyecto, luego se coloca el nombre del
proyecto y por ultimo las iniciales DDM.

Ejemplo:

AW1110001_AFC_DDM
AW1122001_dba2Utils_DDM

Tener en cuenta que el nombre del repositorio DDM, es similar al nombre del repositorio
SQL, sólo cambia el DDM por SQL.

Ejemplo:

AW1110001_AFC_SQL
AW1122001_dba2Utils_SQL

3. Clonar el repositorio DDM, en el cual quedara en una ruta local del equipo de cómputo y
así realizar las modificaciones pertinentes.

git clone <url_repo_azure_devops>

Dirección Disponibilidad Servicios TI


Liquibase

4. Descargar la plantilla del repositorio DDM (Oracle)

[Link] Servicios de
Tecnología/_git/AW0000000_Datical_Component_ORACLE_TEMPLATE_DDM

El contenido de la plantilla se lleva al repositorio clonado para adaptarlos a las


configuraciones de las bases de datos del proyecto, después de cada modificación de cada
uno de estos archivos, se guarda localmente.

5. Configuración de los archivos del repositorio DDM

Archivo .project : Se ingresa el valor de la etiqueta “<name> </name>” el AW del


proyecto seguido con el nombre del proyecto.

Imagen_1 ejemplo:

Archivo [Link] : Se modifica los siguientes campos en el archivo.

name: Se coloca el AW0000_Proyecto.


hostname: Se coloca el hostname por cada ambiente.
Port: Se coloca el puerto de la base de datos correspondiente a cada ambiente.
ServiceName: Se coloca el Oracle SID a cada ambiente.
Schemas name: Se coloca los esquemas de la aplicación.

Dirección Disponibilidad Servicios TI


Liquibase

Imagen_2 ejemplo:

Archivo [Link]: En este archivo se debe modificar los campos


relacionados con el id del commit que tiene el reposito de SQL (sqlScmLastImportID), esta
información la suministra el desarrollador encargado de la implementación de Liquibase.

Esta configuración solamente se realiza una vez al inicio de implementación de Liquibase


para el proyecto.

Imagen_3 ejemplo:

Dirección Disponibilidad Servicios TI


Liquibase

[Link]ón de secretos AWS


Actualmente no es posible el desarrollo de la integración de la herramienta CyberArk con Azure
DevOps, por lo que los analistas DEVOPS E INGENIERIA DE SOFTWARE realizaron un desarrollo
donde temporalmente se creara en Secrets Mannager los secretos correspondientes a los usuarios
de conexión (CNXATIR – CNXDATIQ – CNXDATIP).

Para crear los secretos realizaremos los siguientes pasos:

6.1. Configuración del repositorio


Cloud_aw1192003_database_secrets

1. Clonación del repositorio Cloud_aw1192003_database_secrets en la maquina local.

2. Ingresa a la carpeta ...\


\ Cloud_aw1192003_database_secrets
\on_premise_secrets

3. Se crea el siguiente archivo “.json” con el siguientes estándar :

Aw1192003_<project-name>_params.json

Imagen de ejemplo:

Nota: El Código por defecto será igual al del repositorio ‘aw1192003’

4. En el siguiente link copiar el contenido del archivo y pegarlo en el archivo “. json” creado en
el punto 3

[Link]
%20compartidos/Forms/[Link]?
isAscending=true&sortField=LinkFilename&id=%2Fsites%2FBasesdedatos
%2FDocumentos%20compartidos%2FCluster%20Innovacion%20y%20Desarrollo
%2FDatical%2FPlantillas%2FCloud%5Faw1192003%5Fdatabase%5Fsecrets

Dirección Disponibilidad Servicios TI


Liquibase

%2Fon%5Fpremise%5Fsecrets%2Faw1192003%5Fproyect%2Dname%5Fparams
%2Ejson&parent=%2Fsites%2FBasesdedatos%2FDocumentos%20compartidos
%2FCluster%20Innovacion%20y%20Desarrollo%2FDatical%2FPlantillas
%2FCloud%5Faw1192003%5Fdatabase%5Fsecrets%2Fon%5Fpremise
%5Fsecrets

5. En el mismo archivo “.json” se debe de modificar los siguientes parámetros como se ilustra
en las siguientes imágenes:

SecretName: <AW_Proyecto>_<Nombre_Proyecto>_SecretName
SecretValue: <AW_Proyecto>_<Nombre_Proyecto>_SecretValue

Ejemplo:

SecretName: AW1011001_FinacleNequi_SecretName
SecretValue: AW1011001_FinacleNequi_SecretValue

6. En la carpeta local Cloud_aw1192003_database_secrets se crea el siguiente archivo con


extensión. yml nombrado de la siguiente manera.

<AW0000000>_<project-name>-[Link]

Imagen de ejemplo:

7. Copiar el contenido del siguiente enlace y pegarlo en el archivo antes creado.

Único ambiente de QA
[Link]
[Link]?id=%2Fsites%2FBasesdedatos%2FDocumentos%20compartidos%2FCluster
%20Innovacion%20y%20Desarrollo%2FDatical%2FPlantillas%2FCloud

Dirección Disponibilidad Servicios TI


Liquibase

%5Faw1192003%5Fdatabase%5Fsecrets%2FAW000000%5Fdb%2Dname%2Dazure%2Dpipelines
%2Eyml&parent=%2Fsites%2FBasesdedatos%2FDocumentos%20compartidos%2FCluster
%20Innovacion%20y%20Desarrollo%2FDatical%2FPlantillas%2FCloud
%5Faw1192003%5Fdatabase%5Fsecrets

Múltiples Ambientes de QA
[Link]
[Link]?sortField=LinkFilename&isAscending=true&id=%2Fsites%2FBasesdedatos
%2FDocumentos%20compartidos%2FCluster%20Innovacion%20y%20Desarrollo%2FDatical
%2FPlantillas%2FCloud%5Faw1192003%5Fdatabase%5Fsecrets%2FAW000001%5Fdb%2Dname
%2Dazure%2Dpipelines%2Eyml&parent=%2Fsites%2FBasesdedatos%2FDocumentos
%20compartidos%2FCluster%20Innovacion%20y%20Desarrollo%2FDatical%2FPlantillas%2FCloud
%5Faw1192003%5Fdatabase%5Fsecrets

8. Modificar los siguientes campos que se encuentra en el recuadro como se ilustra en las
siguientes imágenes:

En cada uno de los “stages (ref, qa y pdn)” y “displayName (ref, qa y pdn)” reemplazar el
“AW” por el que corresponde al proyecto.

Por último, subir los cambios al repositorio Azure Devops con los comandos sugeridos del
punto 7.1. y realizar el respectivo pull request (lo aprueba el equipo de nube), despues de
que el cambio es aprobado se debe llevar a la rama trunk.

6.2. Configuración de Pipelines Library

Para el correcto despliegue de los secretos, se cuenta con las siguientes librerías:

 Cloud_Database_Secrets_ref
 Cloud_Database_Secrets_qa

Dirección Disponibilidad Servicios TI


Liquibase

 Cloud_Database_Secrets_qa2
 Cloud_Database_Secrets_qa3
 Cloud_Database_Secrets_pdn

Por cada ambiente se debe de configurar los parámetros en sus respectivas librerías, por lo que se
debe de realizar lo siguiente:

1. Crear el nombre de los parámetros de acuerdo al archivo “.json” configurado anteriormente


( SecretName y SecretValue) en el campo “Name”

SecretName: <AW0000000>_<project-name>_SecretName
SecretValue: <AW0000000>_<project-name>_SecretValue

2. El valor del secretName se debe de colocar la siguiente estructura de acuerdo al


ambiente.

Para REF:
<project-name>-dev-secretrds-CNXDATIREF

Para QA:
<project-name>-qa-secretrds-CNXDATI

Para PDN:
<project-name>-pdn-secretrds-CNXDATI

3. El valor del SecretValue se debe de colocar la siguiente estructura de acuerdo al


ambiente, por el cual se debe cambiar este valor de modo secreto:

Para REF
{"username":"CNXDATIR","password":"<CLAVEXXXXX>","engine":"<MotorBD>","host":"<I
Po DNS>","port":"<xxxx>","dbname": "<DB_NAME>","dbInstanceIdentifier":"database-
datical","enviroment":"REF"}

Para QA
{"username":"CNXDATIQ","password":"<CLAVEXXXXX>","engine":"<MotorBD>","host":"<I
Po DNS>","port":"<xxxx>","dbname": "<DB_NAME>","dbInstanceIdentifier":"database-
datical","enviroment":"QA"}

Para PDN
{"username":"CNXDATIP","password":"<CLAVEXXXXX>","engine":"<MotorBD>","host":"<I
Po DNS>","port":"<xxxx>","dbname": "<DB_NAME>","dbInstanceIdentifier":"database-
datical","enviroment":"PDN"}

Imagen de ejemplo:

Dirección Disponibilidad Servicios TI


Liquibase

6.3. Creación y configuración del Pipeline

Para el despliegue de los secretos es necesario crear un pipeline y realizar las configuraciones
respectivas, a continuación, los pasos:

1. En la opción de pipelines, creamos un nuevo pipeline en el botón “New pipeline”

2. Seleccionamos Azure Repos GIT

Dirección Disponibilidad Servicios TI


Liquibase

3. Seleccionamos el repositorio de los Secrets: Cloud_aw1192003_database_secrets

4. Se elige la opción Existing Azure Pipelines YAML file

5. Luego en el panel que aparece a su mano derecha, colocamos las siguientes opciones:

Branch: el feature correspondiente al proyecto con anterioridad.


Path: Archivo. yml que se parametrizó con anterioridad.

Dirección Disponibilidad Servicios TI


Liquibase

6. Guardamos y renombramos el pipeline con el siguiente estándar:

Cloud_<código-proyecto>_<nombre-proyecto>_database_secrets

Guardamos el Pipeline Renombramos el Pipeline

Dirección Disponibilidad Servicios TI


Liquibase

[Link]
7.1. Scripts o comandos git sugeridos
 git status
 git add .
 git checkout -b <nombre_rama>
 git commit -m “<comentario de los cambios>”
 git push origin <nombre_rama>

7.2. Inclusión de la nueva base de datos a la CMDB

Se debe de incluir la nueva base de datos de REFERENCIA en los registros de la base de datos de
gestión de la configuración (CMDB) para facilitar la gestión y oficializa dentro de los servicios de TI.
Es necesario diligencie el siguiente formato.

[Link]
[Link]?viewid=a621a255%2D4c80%2D4414%2Db32c%2D4d8412e95f52&id=%2Fsites
%2FBasesdedatos%2FDocumentos%20compartidos%2FCluster%20Innovacion%20y
%20Desarrollo%2FDatical%2FPlantillas%2FFormatos

Dirección Disponibilidad Servicios TI


Liquibase

7.3. Registro CyberArk

Se debe de registrar la base de datos de REFERENCIA al sistema de CyberArk, para este registro
es de anotar que lo deben de registrar con su DNS respectivo.

El registro del DNS se realiza con el siguiente pipeline: Pipelines - Runs for
Cloud_operacion_route53_registry ([Link])

Tener en cuenta que no existe una opción en el pipeline para registrar ambientes de referencia por
lo que se debe de nombrar de la siguiente manera:

En el campo “Nombre del Proyecto" colocan su respectivo nombre y al final le anteponen "-ref "
como se ilustra en la siguiente imagen de ejemplo:

7.4. Reglas de firewall

Se debe de solicitar las reglas de firewall desde el origen de agentes de Azure Devops
hacias los diferentes endpoints o dns de las bases de datos.

Origen: [Link]

Destino: <Servidores y puertos del proyecto>

Observaciones: Es muy importante agregar en el formato de reglas de firewall que se


etiqueten las reglas con el tag: DEVOPS_DATABASE

[Link]
Forms/[Link]?
sortField=LinkFilename&isAscending=true&viewid=a621a255%2D4c80%2D4414%2Db
32c%2D4d8412e95f52&id=%2Fsites%2FBasesdedatos%2FDocumentos
%20compartidos%2FCluster%20Innovacion%20y%20Desarrollo%2FDatical
%2FPlantillas%2FFormatos

Dirección Disponibilidad Servicios TI

También podría gustarte