Облачные раннерыUpdate
Облачные раннеры значительно упрощают выполнение CI/CD, т.к. они:
- Не требуют скачивания, настройки или регистрации.
- Не требуют конфигурирования ПК пользователя или виртуального окружения, настройки доступов, установки дополнительного ПО.
- Не требуют указания в лейбле раннера в .yaml-файле рабочего процесса ссылки на нужный образ контейнера из реестра Docker Hub.
Подключение облачного раннера
Для подключения облачного раннера достаточно записать в .yaml-файле рабочего процесса его метку (лейбл):
runs-on: ubuntu-cloud-runner
Конфигурационные файлы рабочих процессов GitVerse Actions должны быть написаны в синтаксисе YAML и располагаться в .gitverse/workflows/ вашего репозитория:
- сохраните файл с расширением .yaml;
- поместите его в .gitverse/workflows/ в вашем репозитории (например, .gitverse/workflows/demo.yaml).
Создание .yaml-файла из шаблона
Если в вашем репозитории еще не был настроен CI/CD, то можно из шаблона создать .yaml‑файл для работы с облачным раннером.
Для создания .yaml-файла рабочего процесса из шаблона перейдите в профиль репозитория и далее:
- Выберите вкладку CI/CD.
- Нажмите Попробовать.
Пример:
Подробнее см. в разделе Облачные раннеры, пример.
Переход к yaml-файлу со страницы результата работы
Чтобы посмотреть результат работы раннера и перейти к yaml-файлу рабочего процесса, в профиле репозитория > CI/CD выберите отчет по задаче:
На отобразившейся странице нажмите на ссылку yaml-файла рабочего процесса:
Сборка образа на облачных раннерах
- После успешного пуша образа меняется файловая система контейнера, пропадают все команды из /usr/bin и на этом контейнере больше нельзя запустить какие либо команды.
- Все дополнительные действия необходимо делать в новой задаче.
- Если требуется очередность выполнения задач, можно использовать
job.<job_id>.needs
Пример использования Kaniko для сборки Docker-образов, который может работать в среде без Docker-демона:
name: Build
on:
push:
jobs:
build_update:
name: Build
runs-on: ubuntu-cloud-runner
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Login to gitverseRegistry
uses: docker/login-action@v3
with:
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
- name: Kaniko build and push
run: |
/kaniko/executor --context=. --dockerfile=./Dockerfile --destination=<dest_project_name>/test_kaniko:0.0.1
Где <dest_project_name>
(строка 18) следует заменить на имя владельца репозитория.
Запуск в публичных и приватных репозиторияхNew
Облачные раннеры могут использоваться одинаково как в публичных, так и в приватных репозиториях без ущерба безопасности или функциональности.
Для работы с публичными и приватными репозиториями необходимо использовать действие actions/checkout
(строка 9), чтобы обеспечить извлечение кода облачным раннером. Ниже приведен пример:
name: Облачный раннер в приватном репозитории
on:
push:
jobs:
build:
runs-on: ubuntu-cloud-runner
steps:
- name: Checkout private code
uses: actions/checkout@v3
- name: Show README
run: cat README.md || echo "Файл README.md отсутствует или пустой"
- name: Build application
run: echo "Сборка приложения из приватного репозитория"
Ограничения облачных раннеровUpdate
- Каждая отдельная задача выполняется облачным раннером не более 15 минут.
- Облачные раннеры имеют ежемесячный лимит сборочного времени: 1000 минут в месяц.
- Один пользователь может использовать не более двух облачных раннеров одновременно.
Проверка оставшегося лимита
Для проверки оставшегося лимита на использование облачных раннеров перейдите в профиль репозитория > Настройки > Раннеры > Облачные:
Связанные разделы
- Включение/выключение CI/CD.
- Вкладка Раннеры в настройках репозитория.
- Настройка CI/CD.
- Облачные раннеры, пример.
- FAQ по GigaIDE Cloud.