pink_fox/services/site/build.sh
Michael Makarochkin f6521b9332 Обновлена среда разработки и добавлен новый функционал в сервер
- Улучшена среда разработки, поправлены косяки старта дебагера

- Добавлен логер в приложение

- Добавлен cli framework
2025-02-28 02:47:17 +03:00

46 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
if [[ ! -d "/go/bin" ]]; then
# если папка bin не существует устанавливаем в систему go
cd /
echo "Собираем golang" >> /app/out.log
wget https://go.dev/dl/go1.24.0.linux-amd64.tar.gz
tar -C /go -xzf go1.24.0.linux-amd64.tar.gz
rm -f go1.24.0.linux-amd64.tar.gz
CGO_ENABLED=0 go install -ldflags "-s -w -extldflags '-static'" github.com/go-delve/delve/cmd/dlv@latest
echo "Golang собран" >> /app/out.log
fi
if [ "$ARG1" = "debug" ]; then
# Собираем приложение для дебага
cd /app || exit 1
rm -f "/dist/local_app_name"
echo "" > /app/out.log
echo "" > /app/err.log
echo "" > /app/dlv.log
pkill -f /dist/local_app_name
go build -gcflags "all=-N -l" -o /dist/local_app_name > /app/out.log 2> /app/err.log
if [ ! -s "/app/err.log" ]; then
dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec /dist/local_app_name server > /app/out.log 2> /app/dlv.log
fi
else
# Собираем приложение
cd /app || exit 1
rm -f "/dist/local_app_name"
echo "" > /app/out.log
echo "" > /app/err.log
pkill -f /dist/local_app_name
go build -o "/dist/local_app_name" > /app/out.log 2> /app/err.log
if [ ! -s "/app/err.log" ]; then
/dist/local_app_name server > /app/out.log 2> /app/err.log
fi
fi