No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-01-31 15:33:53 +03:00
action.yml Initial commit (history cleared) 2025-01-31 11:04:16 +03:00
buildah-bud.sh Initial commit (history cleared) 2025-01-31 11:04:16 +03:00
LICENSE Initial commit (history cleared) 2025-01-31 11:04:16 +03:00
README.md jq 2025-01-31 15:33:53 +03:00

Buildah Bud Action

Этот GitHub Action позволяет собирать контейнерные образы и отправлять их в реестр с помощью Buildah. Он поддерживает настройку тегов, аргументов сборки, меток, архитектур и платформ.

Для работы этому действию требуется установленный пакет jq.

Использование

Пример Workflow

Добавьте следующий шаг в ваш .github/workflows/build.yml:

name: Build & Push Container Image

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Buildah Bud
        uses: https://git.xciii.ru/coral/buildah-action@main  # Укажите ваш репозиторий и версию
        with:
          image: 'my-registry/my-image'
          tags: 'latest v1.0.0'
          context: '.'
          dockerfile: 'Dockerfile'
          platforms: 'linux/amd64,linux/arm64'
          build_args: 'ARG1=value1,ARG2=value2'
          format: 'docker'
          layer: 'true'
          no_cache: 'false'
          labels: 'label1=value1,label2=value2'
          push: true  # Включить отправку образов
          registry: docker.io
          registry_username: ${{ secrets.DOCKER_USERNAME }}
          registry_password: ${{ secrets.DOCKER_PASSWORD }}

Входные параметры

Параметр Описание Обязательный По умолчанию
image Название образа (например, my-registry/my-image). Да -
tags Список тегов через запятую (например, latest v1.0.0). Да latest
context Контекст сборки (путь к папке с Dockerfile). Нет .
dockerfile Путь к Dockerfile. Нет Dockerfile
archs Архитектуры для сборки (например, x86_64,aarch64). Нет -
platforms Платформы для сборки (например, linux/amd64,linux/arm64). Нет -
labels Метки для образа через запятую (например, label1=value1,label2=value2). Нет -
build_args Аргументы сборки через запятую (например, ARG1=value1,ARG2=value2). Нет -
format Формат образа (oci или docker). Нет oci
layer Использовать промежуточные слои (true или false). Нет false
no_cache Отключить кеширование (true или false). Нет false
push Включить отправку образов в реестр (true или false). Нет false
registry Реестр, в который будут отправлены образы (например, docker.io). Нет -
registry_username Имя пользователя для подключения к реестру. Нет -
registry_password Пароль или токен для подключения к реестру. Нет -

Если указаны platforms, то archs игнорируются.

Если push: true, то обязательно указание registry, registry_username, registry_password.

Выходные переменные

Переменная Описание
image Название образа (без тега).
tags Список тегов через запятую.
image-with-tag Полное имя образа с первым тегом.

Локальное тестирование

Вы можете протестировать Action локально с помощью act:

  1. Установите act:

    brew install act
    
  2. Запустите тестирование:

    act -s GITHUB_TOKEN=<your-token>
    

Автор

coral xciii