Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8f9ba88b24 | |||
| 9df3938d94 | |||
| 3eb7072866 | |||
| a5f54f485c | |||
| de254806b6 | |||
| 7eca4cdcac | |||
| 76ef88e811 | |||
| 42ea93ff6a |
30
Docker/deploy.sh
Executable file
30
Docker/deploy.sh
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
BRANCH=$1
|
||||||
|
|
||||||
|
# Директории
|
||||||
|
TEMPLATE_DIR="/deploy/templates"
|
||||||
|
DEPLOY_DIR="/deploy/templates/$BRANCH"
|
||||||
|
|
||||||
|
if [ "$BRANCH" = "main" ]; then
|
||||||
|
TEMPLATE_FILE="docker-compose.template.yml"
|
||||||
|
else
|
||||||
|
TEMPLATE_FILE="docker-compose.dev-template.yml"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Создаем директорию для деплоя
|
||||||
|
mkdir -p $DEPLOY_DIR
|
||||||
|
|
||||||
|
# Копируем и обновляем docker-compose.yml
|
||||||
|
sed "s|{{BRANCH}}|$BRANCH|g" $TEMPLATE_DIR/$TEMPLATE_FILE > $DEPLOY_DIR/docker-compose.yml
|
||||||
|
|
||||||
|
# Перезапускаем сервисы
|
||||||
|
cd $DEPLOY_DIR
|
||||||
|
docker-compose down
|
||||||
|
docker-compose pull
|
||||||
|
docker-compose up -d
|
||||||
|
|
||||||
|
# Очистка старых образов
|
||||||
|
docker image prune -f
|
||||||
34
Docker/templates/docker-compose.dev-template.yml
Normal file
34
Docker/templates/docker-compose.dev-template.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
services:
|
||||||
|
api-dev:
|
||||||
|
image: git.prtsie.ru/prtsie/schengen-visa-{{BRANCH}}
|
||||||
|
container_name: visa-api-{{BRANCH}}
|
||||||
|
ports:
|
||||||
|
- "5001:5000"
|
||||||
|
depends_on:
|
||||||
|
postgres-db-dev:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
- ASPNETCORE_ENVIRONMENT=Development
|
||||||
|
- ConnectionStrings__connectionString=Host=postgres-db-dev;Port=5432;Database=visa;Username=postgres;Password=Qwerty123456!
|
||||||
|
networks:
|
||||||
|
- app-network-{{BRANCH}}
|
||||||
|
|
||||||
|
postgres-db-dev:
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: visa-db-{{BRANCH}}
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: Qwerty123456!
|
||||||
|
POSTGRES_DATABASE: visa
|
||||||
|
networks:
|
||||||
|
- app-network-{{BRANCH}}
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U postgres -d visa"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 10
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
|
networks:
|
||||||
|
app-network-{{BRANCH}}:
|
||||||
|
driver: bridge
|
||||||
34
Docker/templates/docker-compose.template.yml
Normal file
34
Docker/templates/docker-compose.template.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
services:
|
||||||
|
api:
|
||||||
|
image: git.prtsie.ru/prtsie/schengen-visa-{{BRANCH}}
|
||||||
|
container_name: visa-api-{{BRANCH}}
|
||||||
|
ports:
|
||||||
|
- "5000:5000"
|
||||||
|
depends_on:
|
||||||
|
postgres-db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
- ASPNETCORE_ENVIRONMENT=Development
|
||||||
|
- ConnectionStrings__connectionString=Host=postgres-db;Port=5432;Database=visa;Username=postgres;Password=Qwerty123456!
|
||||||
|
networks:
|
||||||
|
- app-network-{{BRANCH}}
|
||||||
|
|
||||||
|
postgres-db:
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: visa-db-{{BRANCH}}
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: Qwerty123456!
|
||||||
|
POSTGRES_DATABASE: visa
|
||||||
|
networks:
|
||||||
|
- app-network-{{BRANCH}}
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U postgres -d visa"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 10
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
|
networks:
|
||||||
|
app-network-{{BRANCH}}:
|
||||||
|
driver: bridge
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
COPY . ./
|
COPY ./ ./
|
||||||
RUN dotnet restore
|
RUN dotnet restore
|
||||||
RUN dotnet publish "SchengenVisaApi/SchengenVisaApi.csproj" -c Release -o /app/publish
|
RUN dotnet publish "SchengenVisaApi/SchengenVisaApi.csproj" -c Release -o /app/publish
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user