#!/bin/bash set -e echo "=== AuthApp build script ===" # ------------------------------- # Проверка ОС # ------------------------------- if [ ! -f /etc/os-release ]; then echo "Cannot detect OS" exit 1 fi . /etc/os-release if [ "$ID" != "debian" ] || [ "$VERSION_ID" != "12" ]; then echo "This project is supported only on Debian 12" exit 1 fi echo "OS check: Debian 12 OK" # ------------------------------- # Проверка sudo # ------------------------------- if ! command -v sudo >/dev/null 2>&1; then echo "sudo is required but not installed" exit 1 fi # ------------------------------- # Установка curl # ------------------------------- if ! command -v curl >/dev/null 2>&1; then echo "Installing curl..." sudo apt update sudo apt install -y curl else echo "curl already installed" fi # ------------------------------- # Проверка dotnet # ------------------------------- if ! command -v dotnet >/dev/null 2>&1; then echo ".NET SDK not found, installing .NET 8 SDK..." sudo apt update sudo apt install -y \ ca-certificates \ libc6 \ libgcc-s1 \ libicu72 \ libssl3 \ libstdc++6 \ zlib1g curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb sudo apt update sudo apt install -y dotnet-sdk-8.0 else echo ".NET SDK already installed" fi # ------------------------------- # Переменные среды # ------------------------------- export DOTNET_CLI_TELEMETRY_OPTOUT=1 export DOTNET_NOLOGO=1 # ------------------------------- # Сборка проекта # ------------------------------- echo "Building project..." dotnet build ../src/AuthApp.csproj -c Release -o ../build echo "Build completed successfully"