Update pipline/init_db.yml

This commit is contained in:
pashko 2025-08-06 10:13:46 +08:00
parent e132682e24
commit 9de2fbdd9b

View File

@ -16,8 +16,8 @@ variables:
value: "5432" value: "5432"
description: 'port for postgresql remote host' description: 'port for postgresql remote host'
POSTGRES_DB: POSTGRES_DB:
value: "db for restore" value: ""
description: '11' description: 'db for restore"'
POSTGRES_USER: POSTGRES_USER:
value: "" value: ""
description: 'user for postgresql remote host' description: 'user for postgresql remote host'
@ -26,6 +26,7 @@ variables:
description: 'passwd for postgresql user remote host' description: 'passwd for postgresql user remote host'
# URL дампов в Nexus # URL дампов в Nexus
SCHEMA_SQL_URL: SCHEMA_SQL_URL:
value: "" value: ""
@ -40,34 +41,30 @@ variables:
DATA_DUMP_DIR: "/tmp/dump_data" DATA_DUMP_DIR: "/tmp/dump_data"
.create_dump_dir: .create_dump_dir: &create_dump_dir
script:
- mkdir -p "$DATA_DUMP_DIR" - mkdir -p "$DATA_DUMP_DIR"
.download_schema: .download_schema: &download_schema
script:
- | - |
echo "Скачивание схемы: $SCHEMA_SQL_URL" echo "Скачивание схемы: $SCHEMA_SQL_URL"
curl -f -u $NEXUS_USER:$NEXUS_PASSWORD -o "$SCHEMA_SQL_PATH" "$SCHEMA_SQL_URL" curl -f -u $NEXUS_USER:$NEXUS_PASS -o "$SCHEMA_SQL_PATH" "$SCHEMA_SQL_URL"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "Ошибк при скачивании схемы" echo "Ошибк при скачивании схемы"
exit 1 exit 1
fi fi
echo "Схема успешно загружена: $SCHEMA_SQL_PATH" echo "Схема успешно загружена: $SCHEMA_SQL_PATH"
.download_ .download_data: &download_data
script:
- | - |
echo "Скачиывание дампа данных: $DATA_DUMP_TAR_GZ_URL" echo "Скачиывание дампа данных: $DATA_DUMP_TAR_GZ_URL"
curl -f -u $NEXUS_USER:$NEXUS_PASSWORD -o "$DATA_DUMP_TAR_GZ_PATH" "$DATA_DUMP_TAR_GZ_URL" curl -f -u $NEXUS_USER:$NEXUS_PASS -o "$DATA_DUMP_TAR_GZ_PATH" "$DATA_DUMP_TAR_GZ_URL"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "Ошибка при скачивании дампа данных" echo "Ошибка при скачивании дампа данных"
exit 1 exit 1
fi fi
echo "Дамп данных успешно загружен: $DATA_DUMP_TAR_GZ_PATH" echo "Дамп данных успешно загружен: $DATA_DUMP_TAR_GZ_PATH"
.wait_for_postgres: .wait_for_postgres: &wait_for_postgres
script:
- | - |
echo "Ожидание готовности PostgreSQL ($POSTGRES_HOST:$POSTGRES_PORT)..." echo "Ожидание готовности PostgreSQL ($POSTGRES_HOST:$POSTGRES_PORT)..."
for i in {1..30}; do for i in {1..30}; do
@ -83,28 +80,25 @@ variables:
exit 1 exit 1
fi fi
.create_database: .create_database: &create_database
script:
- | - |
echo "Создание базы данных $POSTGRES_DB, если не существует..." echo "Создание базы данных $POSTGRES_DB, если не существует..."
PGPASSWORD=$POSTGRES_PASSWORD psql -h "$POSTGRES_HOST" -p "$POSTGRES_PORT" -U "$POSTGRES_USER" \ PGPASSWORD=$POSTGRES_PASSWORD psql -h "$POSTGRES_HOST" -p "$POSTGRES_PORT" -U "$POSTGRES_USER" \
-c "CREATE DATABASE \"$POSTGRES_DB\";" || echo "База данных $POSTGRES_DB уже существует." -c "CREATE DATABASE \"$POSTGRES_DB\";" || echo "База данных $POSTGRES_DB уже существует."
.apply_schema: .apply_schema: &apply_schema
script:
- | - |
echo "Применение схемы из $SCHEMA_SQL_PATH..." echo "Применение схемы из $SCHEMA_SQL_PATH..."
PGPASSWORD=$POSTGRES_PASSWORD psql -h "$POSTGRES_HOST" -p "$POSTGRES_PORT" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -f "$SCHEMA_SQL_PATH" PGPASSWORD=$POSTGRES_PASSWORD psql -h "$POSTGRES_HOST" -p "$POSTGRES_PORT" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -f "$SCHEMA_SQL_PATH"
echo "Схема успешно применена." echo "Схема успешно применена."
.restore_ .restore_data: &restore_data
script:
- | - |
echo "Распаковка архива $DATA_DUMP_TAR_GZ_PATH в $DATA_DUMP_DIR..." echo "Распаковка архива $DATA_DUMP_TAR_GZ_PATH в $DATA_DUMP_DIR..."
tar -xzf "$DATA_DUMP_TAR_GZ_PATH" -C "$DATA_DUMP_DIR" tar -xzf "$DATA_DUMP_TAR_GZ_PATH" -C "$DATA_DUMP_DIR"
DUMP_FILE=$(find "$DATA_DUMP_DIR" -type f -name "*.dump" -o -name "backup" | head -n1) DUMP_FILE=$(find "$DATA_DUMP_DIR" -type f -name "*.dump" -o -name "backup" | head -n1)
if [ ! -f "$DUMP_FILE" ]; then if [ ! -f "$DUMP_FILE" ]; then
echo "Не найден файл дампа после распаковки." echo "No найден файл дампа после распаковки."
exit 1 exit 1
fi fi
echo "Найден дамп: $DUMP_FILE" echo "Найден дамп: $DUMP_FILE"
@ -135,11 +129,10 @@ init_db:
script: script:
- *create_dump_dir - *create_dump_dir
- *download_schema - *download_schema
- *download_data # - *download_data
- *wait_for_postgres - *wait_for_postgres
- *create_database - *create_database
- *apply_schema - *apply_schema
- *restore_data # - *restore_data
tags: tags:
- init_db - mmedo