Skip to main content

Настройка Dependabot для запуска на локальных запусках действий с помощью контроллера runner actions

Можно настроить Actions Runner Controller для запуска Dependabot на локальных запусках.

Кто может использовать эту функцию?

Пользователи с доступом на запись

Работа с данными Actions Runner Controller (ARC)

В этой статье приведены пошаговые инструкции по настройке ARC в кластере Kubernetes и настройке Dependabot для запуска на локальных запусках действий. В этой статье

  • Содержит обзор интеграции ARC и Dependabot.
  • Предоставляет подробные инструкции по установке и настройке с помощью скриптов helm.

Что такое ARC?

Actions Runner Controller — это контроллер Kubernetes, который управляет локально размещенными GitHub Actions как модули pod Kubernetes. Он позволяет динамически масштабировать и оркестрировать запуски на основе рабочих процессов, обеспечивая более эффективное использование ресурсов и интеграцию с средами Kubernetes. См . раздел AUTOTITLE.

Dependabot в ARC

Вы можете запускать Dependabot на локально размещенных GitHub Actions runners, управляемых в кластере Kubernetes с помощью ARC. Это обеспечивает автоматическое масштабирование, изоляцию рабочих нагрузок и более эффективное управление ресурсами для заданий Dependabot, обеспечивая эффективное выполнение обновлений зависимостей в управляемой инфраструктуре организации при интеграции с GitHub Actions.

Настройка ARC для Dependabot в локальной среде

Предпосылки

  • Кластер Kubernetes.
    • Для управляемой облачной среды можно использовать Служба Azure Kubernetes (AKS).
    • Для локальной настройки можно использовать minikube.
  • Штурвал
    • Диспетчер пакетов для Kubernetes.

Настройка ARC

  1. Установите ARC. Дополнительные сведения см. в разделе Краткое руководство по контроллеру запуска действий.

  2. Создайте рабочий каталог для установки ARC и создайте файл скрипта оболочки (например, helm_install_arc.sh), чтобы установить последнюю версию ARC.

    Bash
        mkdir ARC
        touch helm_install_arc.sh
        chmod 755 helm_install_arc.sh
    
  3. Измените helm_install_arc.sh этот скрипт Bash для установки ARC.

    Text
    NAMESPACE="arc-systems"
    helm install arc \
        --namespace "${NAMESPACE}" \
        --create-namespace \
        oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller
    
  4. Выполните файл скрипта helm_install_arc.sh .

    ./helm_install_arc.sh
    
  5. Теперь необходимо настроить масштабируемый набор runner. Для этого давайте начнем с создания и редактирования файла со следующим скриптом bash.

    Bash
    touch arc-runner-set.sh
    chmod 755 arc-runner-set.sh
    
    Text
    INSTALLATION_NAME="dependabot"
    NAMESPACE="arc-runners"
    GITHUB_CONFIG_URL=REPO_URL
    GITHUB_PAT=PAT
    helm install "${INSTALLATION_NAME}" \
        --namespace "${NAMESPACE}" \
        --create-namespace \
        --set githubConfigUrl="${GITHUB_CONFIG_URL}" \
        --set githubConfigSecret.github_token="${GITHUB_PAT}" \
        --set containerMode.type="dind" \
        oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set
    
  6. Выполните файл скрипта arc-runner-set.sh .

    Bash
    ./arc-runner-set.sh
    

Примечание.

  • Имя установки масштабируемого набора runner должно быть dependabot для того, чтобы нацелить задание зависимостей на средство выполнения.
  • Конфигурация containerMode.type="dind" необходима, чтобы разрешить средству выполнения подключиться к управляющей программе Docker.
  • Если создается средство запуска уровня организации или корпоративного уровня, соответствующие области должны быть предоставлены Personal Access Token (PAT).
  • Можно создать personal access token (classic) (PAT). Маркер должен иметь следующие области в зависимости от того, создаете ли вы репозиторий, организацию или масштабируемый набор на уровне предприятия.

Добавление групп runner

Группы runner используются для управления доступом организаций или репозиториев к масштабируемым наборам runner. Чтобы добавить масштабируемый набор runner в группу runner, необходимо создать группу runner.

Сведения о создании групп runner см. в разделе Управление доступом к самостоятельно размещенным средствам выполнения с помощью групп.

Не забудьте добавить следующий параметр в конфигурацию масштабируемого набора runner в диаграмме helm.

Text
--set runnerGroup="<Runner group name>" \

Проверка установки

  1. Проверьте установку.

    Bash
    helm list -A
    

    Выходные данные:

    ➜  ARC git:(master) ✗ helm list -A
        NAME           NAMESPACE   REVISION UPDATED                              STATUS   CHART                                  APP VERSION
        arc            arc-systems 1        2025-04-11 14:41:53.70893 -0500 CDT  deployed gha-runner-scale-set-controller-0.11.0 0.11.0
        arc-runner-set arc-runners 1        2025-04-11 15:08:12.58119 -0500 CDT  deployed gha-runner-scale-set-0.11.0            0.11.0
        dependabot     arc-runners 1        2025-04-16 21:53:40.080772 -0500 CDT deployed gha-runner-scale-set-0.11.0
    
  2. Проверьте модуль pod диспетчера с помощью этой команды.

    Bash
    kubectl get pods -n arc-systems
    

    Выходные данные:

    ➜  ARC git:(master) ✗ kubectl get pods -n arc-systems
    
    NAME                                    READY   STATUS    RESTARTS      AGE
    arc-gha-rs-controller-57c67d4c7-zjmw2   1/1     Running   8 (36h ago)   6d9h
    arc-runner-set-754b578d-listener        1/1     Running   0             11h
    dependabot-754b578d-listener            1/1     Running   0             14h
    

Настройка Dependabot

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Безопасность" боковой панели щелкните Advanced Security.

  4. В разделе "Dependabot" прокрутите страницу до "Dependabot в средства выполнения действий" и выберите " Dependabot для локального запуска".

Запуск Dependabot

Теперь, когда вы настроили ARC, можно запустить запуск Dependabot .

  1. На GitHubперейдите на главную страницу репозитория.

  2. В поле имени репозитория щелкните вкладку "Граф" aria-hidden="true" aria-label="graph" %} Insights .

  3. На левой боковой панели щелкните Граф зависимостей.

    Снимок экрана: вкладка "Граф зависимостей". Вкладка выделена оранжевым контуром.

  4. В разделе "Граф зависимостей" щелкните Dependabot.

  5. Справа от имени интересующего вас файла манифеста щелкните "Последние задания обновления".

  6. Если для файла манифеста нет последних заданий обновления, нажмите кнопку "Проверить наличие обновлений", чтобы повторно запустить задание обновления версий Dependabot и проверить наличие новых обновлений для этой экосистемы.

Просмотр созданных модулей выполнения ARC

Вы можете просмотреть средства выполнения ARC, созданные для задания Dependabot.

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Actions.

    Снимок экрана: вкладки для репозитория github/docs. Вкладка "Действия" выделена оранжевым контуром.

  3. На левой боковой панели нажмите кнопку "Runners".

  4. В разделе "Runners" щелкните "Локальные модули выполнения ", чтобы просмотреть список всех модулей выполнения, доступных в репозитории. Вы можете увидеть эфемерный модуль запуска зависимостей, созданный.

           ![Снимок экрана: средство запуска зависимостей в списке доступных средств выполнения. Средство выполнения выделено оранжевым контуром.](/assets/images/help/dependabot/dependabot-self-hosted-runner.png)
    

    Вы также можете просмотреть тот же модуль pod runner зависимостей, созданный в кластере Kubernetes из терминала, выполнив следующую команду.

    Text
    ➜  ARC git:(master) ✗ kubectl get pods -n arc-runners
        NAME                            READY   STATUS    RESTARTS   AGE
        dependabot-sw8zn-runner-4mbc7   2/2     Running   0          46s
    

Кроме того, можно проверить следующее:

  • Журналы, проверяя имя средства выполнения и компьютера. См . раздел AUTOTITLE.

    Пример журнала для локального runner зависимого бота.

  • Запросы на обновление версии, созданные заданием зависимостей на вкладке "Запросы на вытягивание" репозитория.