Skip to content

Типы шагов

Каждый шаг в джобе имеет тип, который определяет, что он делает и какие параметры предлагает в панели конфигурации.

Команда оболочки

Запустить любой скрипт оболочки на раннере.

ПараметрОписание
Оболочкаbash, sh, zsh, powershell, cmd
СкриптТело скрипта
Рабочая директорияОпционально — по умолчанию корень репозитория

Примеры использования: пользовательские скрипты установки, работа с файлами, вызов CLI, не покрытых другими типами.

bash
# Пример скрипта
echo "Сборка версии $VERSION"
npm ci
npm run generate

Docker

Выполнить операции Docker на раннере.

ОперацияЧто делает
builddocker build образ из Dockerfile
rundocker run контейнер
pushОпубликовать образ в реестр
pullЗагрузить образ из реестра
composeЗапустить docker compose up

Общие параметры: имя образа, тег, путь к Dockerfile, аргументы сборки, учётные данные реестра (из хранилища учётных данных).


Git

Выполнить Git-операции на раннере.

ОперацияЧто делает
checkoutПереключиться на ветку, тег или SHA
cloneКлонировать репозиторий
pullПолучить последние изменения
fetchПолучить удалённые ссылки
tagСоздать и при необходимости запушить тег
pushЗапушить коммиты или теги

TIP

Используйте операцию checkout как первый шаг в каждом джобе, чтобы убедиться, что раннер работает с актуальным кодом.


Тест

Запустить набор тестов.

ФреймворкЯзык
jestJavaScript / TypeScript
vitestJavaScript / TypeScript
pytestPython
go_testGo
cargo_testRust
rspecRuby
phpunitPHP
junitJava

Параметры: переопределение команды тестов, флаг покрытия, формат вывода, рабочая директория.


Сборка

Собрать артефакт проекта.

ИнструментЯзык / Платформа
npm / yarn / pnpmJavaScript / TypeScript
mavenJava
gradleJava / Kotlin / Android
cargoRust
goGo
dotnet.NET
pipPython

Параметры: команда сборки, директория вывода, переменные окружения.


Деплой

Задеплоить собранный артефакт в целевое окружение.

ЦельОписание
kubernetesПрименить манифесты через kubectl
aws_ecsОбновить ECS-сервис
aws_lambdaЗадеплоить Lambda-функцию
sshДеплой по SSH (scp + удалённая команда)
vercelДеплой на Vercel
netlifyДеплой на Netlify
herokuДеплой на Heroku
ftpЗагрузка по FTP/SFTP

Параметры зависят от цели. Учётные данные выбираются из хранилища учётных данных.


Уведомление

Отправить сообщение, когда шаг достигнут (обычно в конце пайплайна или при сбое).

КаналОписание
slackПубликация в Slack-канал через вебхук
teamsПубликация в Microsoft Teams
discordПубликация в Discord через вебхук
emailОтправка письма по SMTP

Параметры: URL вебхука или SMTP-учётные данные (из хранилища), шаблон сообщения, название канала.


Общие параметры (все типы)

Каждый шаг, независимо от типа, также имеет общие параметры:

ПараметрОписание
МеткаЧитаемое имя, отображаемое на холсте
ОписаниеНеобязательные заметки о назначении шага
Переменные окруженияПары ключ-значение, вводимые при выполнении
СекретыСсылка на учётные данные из хранилища по имени
Продолжать при ошибкеЕсли включено, джоб продолжается даже при сбое шага

Released under the MIT License.