builder-1.0.2
Some checks failed
Release Build / create-builder-docker-image (push) Failing after 20s
Hello Gitea API
Простой REST API сервер, построенный на Go с использованием Gin framework.
🚀 Возможности
- ✅ REST API с JSON ответами
- ✅ Health check endpoint
- ✅ CORS поддержка
- ✅ Мультиплатформенная сборка
- ✅ Docker образы для Linux AMD64/ARM64
- ✅ Автоматические релизы через Gitea Actions
📦 Установка
Из бинарного файла
- Скачайте бинарный файл для вашей платформы из релизов
- Распакуйте архив
- Запустите:
./hello-api-<platform>
Из Docker образа
docker pull <username>/hello-api:latest
docker run -p 8080:8080 <username>/hello-api:latest
Из исходного кода
git clone https://direct-dev.ru/gitea/GiteaAdmin/hello_gitea.git
cd hello_gitea
go mod download
go run main.go
🔧 Конфигурация
Сервер запускается на порту 8080 по умолчанию. Можно изменить через переменную окружения:
export PORT=3000
./hello-api
📡 API Endpoints
GET /
Основной endpoint
Ответ:
{
"message": "Hello, World!",
"version": "1.0.0"
}
GET /health
Health check endpoint
Ответ:
{
"status": "ok",
"version": "1.0.0"
}
GET /api/v1/info
Информация о сервисе
Ответ:
{
"service": "hello-api",
"status": "running",
"version": "1.0.0"
}
POST /api/v1/echo
Echo endpoint - возвращает отправленное сообщение
Запрос:
{
"message": "Hello from client!"
}
Ответ:
{
"echo": "Hello from client!",
"version": "1.0.0"
}
🛠 Разработка
Зависимости
- Go 1.21+
- Gin framework
Сборка
# Для текущей платформы
go build -o hello-api main.go
# Для Linux AMD64
GOOS=linux GOARCH=amd64 go build -o hello-api-linux-amd64 main.go
# Для Linux ARM64
GOOS=linux GOARCH=arm64 go build -o hello-api-linux-arm64 main.go
# Для Windows
GOOS=windows GOARCH=amd64 go build -o hello-api-windows-amd64.exe main.go
# Для macOS
GOOS=darwin GOARCH=amd64 go build -o hello-api-darwin-amd64 main.go
GOOS=darwin GOARCH=arm64 go build -o hello-api-darwin-arm64 main.go
Тестирование
# Запуск сервера
go run main.go
# Тестирование API
curl http://localhost:8080/
curl http://localhost:8080/health
curl http://localhost:8080/api/v1/info
curl -X POST http://localhost:8080/api/v1/echo \
-H "Content-Type: application/json" \
-d '{"message":"Hello!"}'
🚀 CI/CD
При создании тега (например, v1.1.0
) автоматически:
- Собираются бинарники для всех платформ
- Создается Docker образ для Linux AMD64/ARM64
- Образ публикуется в Docker Hub
- Создается релиз в Gitea с бинарниками
📄 Лицензия
MIT License
Release v1.0.40
Latest
Languages
Go
46.2%
Shell
38.6%
Dockerfile
6.1%
Ruby
5.2%
Makefile
3.9%