Репозиторий Git#

Astra Automation Controller поддерживает использование репозиториев Git в качестве источников кода проектов. Основной параметр, который при этом должен быть указан – URL репозитория в VCS. В каталоге для хранения проектов создается подкаталог с локальной копией указанного репозитория.

URL репозитория в зависимости от используемого протокола подключения может иметь следующий вид:

  • HTTPS:

    https://example.org/project.git
    
  • SSH

    ssh://git@example.org/project.git
    
  • GIT

    git://example.org/project.git
    

Примечание

Поддержка протоколов и особенности их использования определяются возможностями сервиса, в котором размещен репозиторий. Для Astra Automation Hub доступны протоколы HTTPS и SSH.

Дополнительные настройки#

Для репозитория Git можно указать дополнительные параметры системы управления исходными данными.

Название ветки, название тега или хэш коммита#

По умолчанию используется последний коммит из основной ветки репозитория. Эта настройка позволяет использовать другие версии кода:

  • Название ветки.

    Используется версия кода из последнего коммита в указанной ветке.

    Например, если в репозитории основная ветка называется main, а ветка с экспериментальными возможностями называется development, для использования кода из ветки development необходимо указать ее название в свойствах источника.

  • Название тега.

    Используется версия кода, отмеченная указанным тегом.

    Номера версий коллекций Ansible в Astra Automation Hub указываются в названиях тегов. Чтобы использовать коллекцию astra.nginx версии 1.7.0, соответствующее значение следует указать в настройках источника.

  • Хэш коммита.

    Используется версия кода из коммита с указанным хэшем. Хэш коммита может быть указан полностью или частично (первые несколько символов).

    Для использования коммита с хэшем d7e82ab6ebff598b928edd356803758a3f3435ce допускается указать значение d7e82ab6.

  • Произвольная ссылка на версию кода в локальной копии репозитория.

Важно

Некоторые хэши коммитов и ссылки могут быть недоступны без указания спецификации (refspec) для измененной ссылки.

Спецификация (refspec)#

Эта настройка используется для управления ссылками в локальной копии репозитория на версии кода в удаленном репозитории.

Например, для получения из внешнего репозитория всех возможных ссылок в настройках спецификации необходимо указать следующую строку:

refs/*:refs/remotes/origin/*

Примечание

Для удаленного источника используется название origin.

Подробности использования спецификаций ссылок см. в документации Git.

Полномочия#

Эта настройка позволяет указать полномочия, которые следует использовать для доступа к удаленному репозиторию. Для выбора доступны полномочия типа «Управление версиями».

Настройки управления версиями кода#

В настройках Astra Automation Controller можно указать дополнительные параметры, управляющие поведением при работе с репозиторием.

  • Очистить

    Перед выполнением обновления удаляются все сделанные изменения в локальной копии репозитория.

  • Удалить

    При обновлении локальная копия репозитория удаляется полностью, после чего загружается заново.

    Примечание

    В зависимости от размера репозитория и скорости соединения процесс загрузки может занять длительное время.

  • Отслеживание подмодулей

    Если эта настройка включена, отслеживается состояние не только основного репозитория, но и имеющихся подмодулей. Использование этой настройки эквивалентно выполнению команд git fetch и git clone с параметром --recurse-submodules.

    Подробности об использовании подмодулей см. в документации Git.

  • Обновить версию при запуске

    Если эта настройка включена, перед запуском любого задания, использующего код из этого источника, он будет автоматически обновлен.

  • Разрешить переопределение ветки

    Если эта настройка включена, в шаблоне задания разрешается выбрать ветку или версию кода, отличную от заданной в свойствах проекта.