GitHub Actions — это встроенная в GitHub система CI/CD, позволяющая создавать, настраивать и выполнять рабочие процессы (workflows) для автоматизации сборки, тестирования, развертывания и других задач, связанных с жизненным циклом программного обеспечения, а также переиспользовать эти процессы в разных репозиториях.
Сборка Docker-образа из Dockerfile, размещенного в корне репозитория, и отправка образа в Cloud Registry с помощью GitHub Action Build and push Docker images.
tokens:# Произвольное имя токена.<имя_токена>:# Имя сервисного подключения к Yandex Cloud.service_connection:<имя_сервисного_подключения># Область запроса доступа:# org — все репозитории.# repo — конкретный репозиторий.# ref — ветка или тег.scope:repoworkflows:test-workflow:tasks:-name:test-gh-actions-taskcubes:# Кубик обменивает токен SourceCraft на IAM-токен Yandex Cloud# и сохраняет его в переменную IAM_TOKEN в блоке outputs.-name:get-iam-tokenenv:ID_TOKEN:${{tokens.<имя_токена>.id_token}}YC_SA_ID:${{tokens.<имя_токена>.service_account_id}}image:cr.yandex/sourcecraft/yc-iam:latest# Кубик устанавливает и настраивает утилиту Docker Buildx.-name:setup-buildxaction:docker/setup-buildx-action@v3.11.1# Кубик аутентифицируется в Yandex Cloud Registry c # помощью IAM-токена.-name:loginaction:docker/login-action@v3.5.0with:registry:cr.yandex/<идентификатор_реестра>username:iam# Подставьте в блок для получения значений outputs имя кубика с# IAM-токеном, например get-iam-token.password:${{cubes.<имя_кубика_с_IAM-токеном>.outputs.IAM_TOKEN}}# Кубик собирает Docker-образ из Dockerfile и отправляет его в реестр# Cloud Registry.-name:build-and-pushaction:docker/build-push-action@v6.18.0with:context:.file:Dockerfileplatforms:linux/amd64tags:|
cr.yandex/<идентификатор_реестра>/image-name:latest
push:trueon:push:test-workflow
Этот CI-процесс автоматически запустится после внесения изменений в ветку main.
Проверьте выполнение CI-процесса:
На странице репозитория в разделе Автоматизации перейдите в секцию CI/CD.
Откройте запущенный рабочий процесс.
На открывшейся странице вы увидите задания рабочего процесса, шаги задания — кубики, а также статусы и результаты выполнения.
На вкладке Логи раскройте кубик с GitHub Actions и посмотрите результаты его работы.