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.

Другие вопросы по тегам