Compare commits
1 Commits
v1.0.25
...
builder-1.
Author | SHA1 | Date | |
---|---|---|---|
a3867ba3de |
16
README.md
16
README.md
@@ -142,27 +142,13 @@ curl -X POST http://localhost:8080/api/v1/echo \
|
|||||||
|
|
||||||
## 🚀 CI/CD
|
## 🚀 CI/CD
|
||||||
|
|
||||||
При создании тега (например, `v1.1.20`) автоматически:
|
При создании тега (например, `v1.1.0`) автоматически:
|
||||||
|
|
||||||
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
|
BIN
bin/hello-api-1.0.0
Executable file
BIN
bin/hello-api-1.0.0
Executable file
Binary file not shown.
2
main.go
2
main.go
@@ -7,7 +7,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
||||||
const version = "1.0.25"
|
const version = "1.0.0"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// Set Gin mode
|
// Set Gin mode
|
||||||
|
13
makefile
13
makefile
@@ -17,12 +17,9 @@ test:
|
|||||||
# Задача для создания релиза
|
# Задача для создания релиза
|
||||||
# Использование: make release VERSION=1.0.25
|
# Использование: make release VERSION=1.0.25
|
||||||
release:
|
release:
|
||||||
@if [ -z "$(VERSION)" ]; then \
|
# @if [ -z "$(VERSION)" ]; then \
|
||||||
echo "Ошибка: Необходимо указать версию в формате v1.0.25"; \
|
# echo "Ошибка: Необходимо указать версию"; \
|
||||||
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
|
|
Reference in New Issue
Block a user