5 Commits

Author SHA1 Message Date
1a0207017a Release v1.0.25
Some checks failed
Release Build / create-docker-image (push) Successful in 3m30s
Release Build / create-release (push) Failing after 0s
2025-07-28 10:16:51 +06:00
638dc104f8 Release v1.0.0 2025-07-28 10:13:37 +06:00
8b420c500f Remove bin/hello-api-1.0.0 from repository (already in .gitignore) 2025-07-28 10:06:36 +06:00
078c32b929 merged 2025-07-28 10:04:02 +06:00
e4a2fccef4 init local 2025-07-28 09:56:39 +06:00
4 changed files with 25 additions and 8 deletions

View File

@@ -142,13 +142,27 @@ curl -X POST http://localhost:8080/api/v1/echo \
## 🚀 CI/CD ## 🚀 CI/CD
При создании тега (например, `v1.1.0`) автоматически: При создании тега (например, `v1.1.20`) автоматически:
1. Собираются бинарники для всех платформ 1. Собираются бинарники для всех платформ
2. Создается Docker образ для Linux AMD64/ARM64 2. Создается Docker образ для Linux AMD64/ARM64
3. Образ публикуется в Docker Hub 3. Образ публикуется в Docker Hub
4. Создается релиз в Gitea с бинарниками 4. Создается релиз в Gitea с бинарниками
Дополнительно `.gitea/workflows/build_build.yaml` предназначен для автоматизации процесса сборки и публикации Docker-образов билдера - то есть образа который будет использоваться в основном процессе сборки и релиза. Этот workflow запускается (триггерится) автоматически при пуше тега, начинающегося с `builder-` (например, `builder-v1.2.3`), в репозиторий на сервере Gitea.
Когда такой тег появляется, workflow выполняет следующие задачи:
- Клонирует репозиторий и переключается на соответствующую версию кода.
- Настраивает окружение для сборки Docker-образов с поддержкой мультиплатформенности (amd64 и arm64).
- Выполняет аутентификацию в Docker Hub.
- Собирает и публикует Docker-образы для разных архитектур (tag DOCKERHUB_USERNAME/my-build-golang-runnerr:builder-v1.2.3 и tag DOCKERHUB_USERNAME/my-build-golang-runner:latest.
- Для сборки используется специальный Dockerfile (`Dockerfile.builder`) для создания образа билдера.
Таким образом, данный файл обеспечивает автоматическую сборку и публикацию артефактов проекта при выпуске новых версий, что упрощает процесс релиза и гарантирует наличие актуальных образов и бинарников для пользователей.
## 📄 Лицензия ## 📄 Лицензия
MIT License MIT License

Binary file not shown.

View File

@@ -7,7 +7,7 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
const version = "1.0.0" const version = "1.0.25"
func main() { func main() {
// Set Gin mode // Set Gin mode

View File

@@ -17,9 +17,12 @@ test:
# Задача для создания релиза # Задача для создания релиза
# Использование: make release VERSION=1.0.25 # Использование: make release VERSION=1.0.25
release: release:
# @if [ -z "$(VERSION)" ]; then \ @if [ -z "$(VERSION)" ]; then \
# echo "Ошибка: Необходимо указать версию"; \ echo "Ошибка: Необходимо указать версию в формате v1.0.25"; \
# echo "Использование: make release VERSION=1.0.25"; \ echo "Использование: make release VERSION=1.0.25"; \
# exit 1; \ exit 1; \
# fi fi
@./scripts/release-interactive.sh $(VERSION) @./scripts/release-interactive.sh $(VERSION)
release-interactive:
@./scripts/release-interactive.sh