Назад к вопросам
Junior
74
questionbank
Откуда runner получает код?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Runner получает код из репозитория системы контроля версий. В зависимости от конфигурации и типа runner'а, это может быть:
- Локальный файловый путь: Если репозиторий находится на той же машине или доступен по сетевому пути.
- Git-репозиторий: Наиболее распространенный способ. Runner клонирует репозиторий, указанный в конфигурации задания пайплайна. Он использует данные аутентификации (ключи SSH, токены), предоставленные в настройках runner'а или переменных окружения.
- Архив (zip, tar.gz): Реже, но возможно, если код предварительно упакован и доступен по URL или локальному пути.
Пример из GitLab CI:
# .gitlab-ci.yml
stages:
- build
build_job:
stage: build
script:
- echo "Клонируем репозиторий..."
- git clone $CI_REPOSITORY_URL .
- echo "Код получен."
В данном случае runner сам клонирует репозиторий, указанный в переменной окружения $CI_REPOSITORY_URL, которая автоматически предоставляется GitLab CI.
Пример из GitHub Actions:
# .github/workflows/main.yml
name: Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4 # Этот action клонирует репозиторий
- name: Run something
run: |
echo "Код получен."
# Дальнейшие шаги с кодом
В GitHub Actions часто используется стандартный actions/checkout action для клонирования репозитория.
Таким образом, основной механизм - это клонирование репозитория с использованием соответствующих протоколов (git, ssh, https) и аутентификационных данных.