Настройка и просмотр конфигураций репозитория доступны в интерфейсе SourceCraft в разделе Настройки репозитория в секции Конфигурации. Подробнее в инструкции Настроить конфигурации репозитория в виде кода.
Функциональность позволяет переносить проекты из GitLab без существенной переработки конфигурации CI/CD, а также переиспользовать большую библиотеку существующих примеров пайплайнов.
Важно
Запуск GitHub Actions и пайплайнов GitLab в CI/CD SourceCraft поддерживается только на облачных воркерах.
Добавьте в ветку main репозитория файл .sourcecraft/.gitlab-ci.yaml с содержимым вашего пайплайна GitLab.
Пример пайплайна GitLab .gitlab-ci.yaml
build-job:stage:buildscript:-echo"Hello, GitLab CI/CD!"test-job1:stage:testscript:-echo"This job tests something"test-job2:stage:testscript:-echo"This job tests something, but takes more time than test-job1."-echo"After the echo commands complete, it runs the sleep command for 20 seconds"-echo"which simulates a test that runs 20 seconds longer than test-job1"-sleep20deploy-prod:stage:deployscript:-echo"This job deploys something."
Аналогичным образом добавьте в ветку main файл .sourcecraft/ci.yaml. Чтобы задействовать пайплайн GitLab в CI/CD SourceCraft, используйте кубик с параметром gitlab_workflow, например:
on:push:-workflows: [sample-workflow]
filter:branches: ["main"]
workflows:sample-workflow:tasks:-name:demo-gitlab-cicubes:-name:run-gitlab-workflow# Путь к файлу с конфигурацией пайплайна GitLabgitlab_workflow:.sourcecraft/.gitlab-ci.yaml
Совет
Вы можете задействовать в пайплайне GitLab секреты SourceCraft. Для этого передайте значение секрета через блок env в файле .sourcecraft/ci.yaml, а в файле .sourcecraft/.gitlab-ci.yaml обращайтесь к соответствующей переменной окружения.
Пример использования секретов SourceCraft в пайплайне GitLab
В примере в пайплайне GitLab значение секрета DEMO_SECRET сравнивается с текстом demo-secret-value. При успешном совпадении в лог кубика выводится сообщение PASS: secret received and matches the expected value.
check-secret:stage:testimage:alpine:3.22script:-|
if [ "$DEMO_SECRET" = "demo-secret-value" ]; then
echo "PASS: secret received and matches the expected value"
else
echo "FAIL: secret is missing or does not match the expected value"
exit 1
fi
В соответствии с представленным примером CI-процесс автоматически запустится после внесения изменений в ветку main.
Проверьте выполнение CI-процесса:
На странице репозитория в разделе Автоматизации перейдите в секцию CI/CD.
Откройте запущенный рабочий процесс.
На открывшейся странице будут отображены задания рабочего процесса, шаги задания — кубики, а также статусы и результаты выполнения.
В правом нижнем углу кубика run-gitlab-workflow нажмите .