#!/bin/bash # πŸš€ LCG Build Script (Root) # Π‘ΠΊΡ€ΠΈΠΏΡ‚ для сборки ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° set -e # Π¦Π²Π΅Ρ‚Π° для Π²Ρ‹Π²ΠΎΠ΄Π° RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color # Ѐункция для Π²Ρ‹Π²ΠΎΠ΄Π° сообщСний log() { echo -e "${BLUE}[$(date +'%Y-%m-%d %H:%M:%S')]${NC} $1" } success() { echo -e "${GREEN}βœ… $1${NC}" } warning() { echo -e "${YELLOW}⚠️ $1${NC}" } error() { echo -e "${RED}❌ $1${NC}" } # ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ REPOSITORY=${1:-"your-registry.com/lcg"} VERSION=${2:-"latest"} PLATFORMS=${3:-"linux/amd64,linux/arm64"} log "πŸš€ Π‘Π±ΠΎΡ€ΠΊΠ° LCG ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ..." # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ if [ ! -f "go.mod" ]; then error "Π­Ρ‚ΠΎΡ‚ скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π³Π΄Π΅ находится go.mod)" exit 1 fi # ЗаписываСм Π²Π΅Ρ€ΡΠΈΡŽ Π² Ρ„Π°ΠΉΠ» VERSION.txt echo "$VERSION" > VERSION.txt log "πŸ“ ВСрсия записана Π² VERSION.txt: $VERSION" # ЗапускаСм ΠΏΠΎΠ»Π½ΡƒΡŽ сборку log "πŸš€ Запуск ΠΏΠΎΠ»Π½ΠΎΠΉ сборки..." ./deploy/full-build.sh "$REPOSITORY" "$VERSION" "$PLATFORMS" if [ $? -eq 0 ]; then success "πŸŽ‰ Π‘Π±ΠΎΡ€ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ!" else error "Ошибка ΠΏΡ€ΠΈ сборкС" exit 1 fi