Compare commits
7 Commits
builder-1.
...
v1.0.26
Author | SHA1 | Date | |
---|---|---|---|
7c3d490685 | |||
aff61e32fc | |||
1a0207017a | |||
638dc104f8 | |||
8b420c500f | |||
078c32b929 | |||
e4a2fccef4 |
@@ -53,7 +53,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
# image: golang:1.21
|
||||
image: ${DOCKERHUB_USERNAME}/my-build-golang-runner:latest
|
||||
image: ${{ secrets.DOCKERHUB_USERNAME }}/my-build-golang-runner:latest
|
||||
needs: create-docker-image
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
|
@@ -46,5 +46,6 @@ jobs:
|
||||
--tag ${{ secrets.DOCKERHUB_USERNAME }}/my-build-golang-runner:${{ github.ref_name }} \
|
||||
--tag ${{ secrets.DOCKERHUB_USERNAME }}/my-build-golang-runner:latest \
|
||||
--push \
|
||||
-f Dockerfile.builder \
|
||||
.
|
||||
|
||||
|
16
README.md
16
README.md
@@ -142,13 +142,27 @@ curl -X POST http://localhost:8080/api/v1/echo \
|
||||
|
||||
## 🚀 CI/CD
|
||||
|
||||
При создании тега (например, `v1.1.0`) автоматически:
|
||||
При создании тега (например, `v1.1.20`) автоматически:
|
||||
|
||||
1. Собираются бинарники для всех платформ
|
||||
2. Создается Docker образ для Linux AMD64/ARM64
|
||||
3. Образ публикуется в Docker Hub
|
||||
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
|
Binary file not shown.
2
main.go
2
main.go
@@ -7,7 +7,7 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
const version = "1.0.0"
|
||||
const version = "1.0.26"
|
||||
|
||||
func main() {
|
||||
// Set Gin mode
|
||||
|
13
makefile
13
makefile
@@ -17,9 +17,12 @@ test:
|
||||
# Задача для создания релиза
|
||||
# Использование: make release VERSION=1.0.25
|
||||
release:
|
||||
# @if [ -z "$(VERSION)" ]; then \
|
||||
# echo "Ошибка: Необходимо указать версию"; \
|
||||
# echo "Использование: make release VERSION=1.0.25"; \
|
||||
# exit 1; \
|
||||
# fi
|
||||
@if [ -z "$(VERSION)" ]; then \
|
||||
echo "Ошибка: Необходимо указать версию в формате v1.0.25"; \
|
||||
echo "Использование: make release VERSION=1.0.25"; \
|
||||
exit 1; \
|
||||
fi
|
||||
@./scripts/release-interactive.sh $(VERSION)
|
||||
|
||||
release-interactive:
|
||||
@./scripts/release-interactive.sh
|
Reference in New Issue
Block a user