Rundeck: получение определения задания из GitHub с плагином SCM
Я бы очень хотел импортировать / экспортировать мои описания заданий rundeck (YAML) в / из репозитория GitHub.
Кажется, плагин SCM для rundeck (2.6.4) готов, но я не могу найти очень мало документации о том, как его использовать.
Когда я пытаюсь настроить его на экране "Настройка плагина SCM: Git Export", я получаю следующую ошибку:
Failed fetch from the repository:
https://github.com/OptionMetrics/Rundeck.git: Authentication is required but no CredentialsProvider has been registered
Я попытался создать ключ SSH, загрузить его на GitHub и сохранить в хранилище ключей. Затем я ссылался на этот ключ на странице конфигурации. Неудачно.
Кто-нибудь может дать мне четкие инструкции о том, как заставить это работать?
2 ответа
Вы можете использовать хранилище ключей SSH, но вам нужно установить URL вашего git на URL SSH, предоставленный на github. Вместо https://github.com/OptionMetrics...
это было бы git@github.com:OptionMetrics...
Если вы хотите использовать https, вы можете указать имя пользователя / пароль. Вам нужно сгенерировать "личный токен доступа" через github и использовать его в качестве пароля
Вам необходимо добавить учетные данные в github. Для этого перейдите в Github -> Профиль -> Настройки -> Настройки разработчика -> Личные токены доступа. Скопируйте указанный выше пароль. Теперь вернитесь в Rundeck -> Настройки -> Хранилище ключей -> Добавить или загрузить ключ. Тип ключа - Пароль, Скопируйте и вставьте пароль в поле "Введите текст". Дайте имя ключу. То же самое будет доступно на странице конфигурации установки SCM в разделе Путь к хранилищу паролей при нажатии кнопки Выбрать.
Вы можете использовать https для подключения к git из rundeck, вы можете заменить своими настройками все, что указано в скобках <>.
Export Jobs to a Git Repository More…
Committer Name: <Commiter Name>
Committer Email: <Commiter Email ID>
Export UUID Behavior: preserve
Synchronize Automatically: false
Base branch on: master
File Path Template: ${job.group}${job.name}-${job.id}.${config.format}
Base Directory: <Base Directory >
Git URL: https://<userid>@github5.<domain>.com/<project>.git/
Branch: master
SSH: Strict Host Key Checking: no
Password Storage Path: keys/Github
Format: xml
Fetch Automatically: false
Кажется, проблема с аутентификацией github. Я смог заставить его работать с rundeck-git-plugin-2.6.1.jar и частным репозиторием git.
Сначала вы проверяете, можете ли вы клонировать git-репозиторий как пользователь "rundeck" с хоста rundeck, если он работает без проблем, у вас не возникнет никаких проблем с настройкой плагина и возможностью фиксации / отправки файлов yml задания в Сделки рЕПО.
git-аутентификация между пользователем rundeck и git-репозиторием - единственное, что важно при использовании этого плагина. Также используйте метод SSH конечной точки репо для клонирования, если вы используете аутентификацию на основе ключа SSH.