Compare commits
	
		
			8 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 8f9ba88b24 | |||
| 9df3938d94 | |||
| 3eb7072866 | |||
| a5f54f485c | |||
| de254806b6 | |||
| 7eca4cdcac | |||
| 76ef88e811 | |||
| 42ea93ff6a | 
							
								
								
									
										10
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								.drone.yml
									
									
									
									
									
								
							| @@ -3,11 +3,11 @@ type: docker | ||||
| name: "Backend" | ||||
|  | ||||
| steps: | ||||
| # - name: test | ||||
| #   image: mcr.microsoft.com/dotnet/sdk:8.0 | ||||
| #   commands: | ||||
| #   - dotnet build | ||||
| #   - dotnet test | ||||
| - name: test | ||||
|   image: mcr.microsoft.com/dotnet/sdk:8.0 | ||||
|   commands: | ||||
|   - dotnet build | ||||
|   - dotnet test | ||||
|  | ||||
| - name: publish | ||||
|   image: plugins/docker | ||||
|   | ||||
							
								
								
									
										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 | ||||
| WORKDIR /src | ||||
| COPY . ./ | ||||
| COPY ./ ./ | ||||
| RUN dotnet restore | ||||
| RUN dotnet publish "SchengenVisaApi/SchengenVisaApi.csproj" -c Release -o /app/publish | ||||
|  | ||||
|   | ||||
| @@ -12,12 +12,14 @@ public class Program | ||||
|     { | ||||
|         var builder = WebApplication.CreateBuilder(args); | ||||
|         builder.RegisterServices(); | ||||
|         builder.Services.AddHealthChecks(); | ||||
|  | ||||
|         var app = builder.Build(); | ||||
|  | ||||
|         await HandleMigrationKey(args, app); | ||||
|  | ||||
|         app.ConfigurePipelineRequest(); | ||||
|         app.UseHealthChecks("/health"); | ||||
|  | ||||
|         await app.RunAsync(); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user