changed builder image
All checks were successful
Build Builder Docker Image / create-builder-docker-image (push) Successful in 5m42s
All checks were successful
Build Builder Docker Image / create-builder-docker-image (push) Successful in 5m42s
This commit is contained in:
@@ -30,6 +30,13 @@ jobs:
|
||||
cd hello_gitea
|
||||
mkdir -p bin
|
||||
|
||||
# Build for all platforms
|
||||
quick-build linux amd64
|
||||
quick-build linux arm64
|
||||
quick-build windows amd64
|
||||
quick-build darwin amd64
|
||||
quick-build darwin arm64
|
||||
|
||||
# Build for all platforms
|
||||
GOOS=linux GOARCH=amd64 go build -o bin/hello-api-linux-amd64 main.go
|
||||
GOOS=linux GOARCH=arm64 go build -o bin/hello-api-linux-arm64 main.go
|
||||
|
@@ -9,5 +9,24 @@ RUN apt-get update && \
|
||||
jq && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Создаем рабочую директорию
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем файлы зависимостей
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
# Предварительно загружаем все зависимости
|
||||
RUN go mod download && go mod verify
|
||||
|
||||
# Создаем скрипт для быстрой сборки
|
||||
COPY scripts/quick-build.sh /usr/local/bin/quick-build
|
||||
|
||||
# делаем скрипт исполняемым
|
||||
RUN chmod +x /usr/local/bin/quick-build
|
||||
|
||||
# Устанавливаем переменные окружения
|
||||
ENV GOPATH=/go
|
||||
ENV PATH=$PATH:/go/bin:/usr/local/bin
|
||||
|
||||
# (Опционально) Можно добавить команду по умолчанию
|
||||
CMD ["bash"]
|
@@ -424,7 +424,7 @@ jobs:
|
||||
- Создает релиз с именем текущей версии через Gitea API
|
||||
- Загружает бинарники как assets релиза
|
||||
|
||||
для работы данного job используется кастомный образ - если бы мы использовали просто golang:1.24, то при каждом запуске данного job необходимо было бы скачивать jq и устанавливаться в контейнере (возможно со временем, что то еще потребовалось бы ...)
|
||||
для работы данного job используется кастомный образ - если бы мы использовали просто golang:1.24, то при каждом запуске данного job необходимо было бы скачивать jq и устанавливаться в контейнере (возможно со временем, что-то еще потребовалось бы ...)
|
||||
|
||||
```yaml
|
||||
- name: Setup Go container
|
||||
|
19
scripts/quick-build.sh
Normal file
19
scripts/quick-build.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -f go.mod ]; then
|
||||
echo "go.mod not found in current directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Проверяем, изменились ли зависимости
|
||||
if [ ! -f go.sum ] || ! go mod verify >/dev/null 2>&1; then
|
||||
echo "Dependencies changed, downloading..."
|
||||
go mod download
|
||||
fi
|
||||
|
||||
# Собираем для указанной платформы
|
||||
if [ -n "$1" ] && [ -n "$2" ]; then
|
||||
GOOS=$1 GOARCH=$2 go build -o "hello-api-$1-$2" main.go
|
||||
else
|
||||
go build -o hello-api main.go
|
||||
fi
|
Reference in New Issue
Block a user