46 lines
1.4 KiB
Bash
Executable File
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 "/app/local_app"
|
|
echo "" > /app/out.log
|
|
echo "" > /app/err.log
|
|
echo "" > /app/dlv.log
|
|
|
|
pkill -f /app/local_app
|
|
|
|
go build -gcflags "all=-N -l" -o /app/local_app > /app/out.log 2> /app/err.log
|
|
|
|
if [ ! -s "/app/err.log" ]; then
|
|
dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec /app/local_app server > /app/out.log 2> /app/dlv.log
|
|
fi
|
|
else
|
|
# Собираем приложение
|
|
cd /app || exit 1
|
|
rm -f "/app/local_app"
|
|
echo "" > /app/out.log
|
|
echo "" > /app/err.log
|
|
|
|
pkill -f /app/local_app
|
|
|
|
go build -o "/app/local_app" > /app/out.log 2> /app/err.log
|
|
|
|
if [ ! -s "/app/err.log" ]; then
|
|
/app/local_app server > /app/out.log 2> /app/err.log
|
|
fi
|
|
fi
|