Как соединить Дженкинса и Гиету

У меня проблема в том, что я хочу установить конвейер CI/CD между моим Gitea Repo и Jenkins. До сих пор я создал webhook с Gitea API для Jenkins. К сожалению, когда я пытаюсь отправить тестовые пакеты из Gitea в Jenkins, я получаю сообщение об ошибке x509 о том, что сертификаты недействительны

Доставка: Сообщение https://*************/jenkins: x509: сертификат действителен для xxxxxxxxxxxxx, не ггггггггггггггггг

С другой стороны, я не могу добавить свой сервер gitea в веб-интерфейс Jenkins. Если я пытаюсь это сделать, я получаю сообщение об ошибке, в котором говорится, что соединение не может быть установлено, потому что:

Не удалось связаться с сервером: HTTP 403/ Запрещено

Я уже в отчаянии. Я уже пытался добавить сертификаты на машину, на которой работает Jenkins, чтобы устранить ошибку x509, но это не помогло. Также, если я попытаюсь добавить вместо моего сервера официальный сервер try.gitea.io, он действительно будет работать. Но в настройках я нуждаюсь в моем сервере, поэтому использовать официальный не обязательно.

Заранее спасибо.

2 ответа

Я использую Jenkins версии 2.190.2 в контейнере Docker с плагином Gitea версии 1.1.2.

Я вижу ту же проблему с сообщением

Не удалось связаться с сервером: HTTP 403/ Запрещено

в

Jenkins > Управление Jenkins > Настроить систему> Серверы Gitea

когда я устанавливаю URL-адрес сервера на сервер Gitea с протоколом https (например, URL-адрес сервера: https://gitea.mycompany.com и имя: mycompany_gitea)

Я пробовал добавить сертификат gitea.company.com к доверенным сертификатам Jenkins JVM с помощью keytool, но безуспешно (рассмотрите ssl-сертификат gitea.company.com - это глобально доверенный сертификат, а не локально созданный или частный сертификат).

В конце концов я попытался добавить новую папку организации Gitea с помощью

Jenkins > Новый элемент> Организация Gitea (с именем, например, mycompany)

несмотря на сообщение о проблеме.

Я настроил новый проект Gitea Organization в разделе Gitea Organization со следующими значениями:

  • Сервер: mycompany_gitea
  • Учетные данные: (учетные данные Jenkins пользователя Gitea с доступом ко всем репозиториям Gitea/git)
  • Владелец: (организация / имя пользователя Gitea)

и... Та-да! Оно работает! Теперь я могу без проблем просканировать Gitea Organization.

Таким образом, сообщение

Не удалось связаться с сервером: HTTP 403/ Запрещено

это своего рода "ложное срабатывание" и его можно игнорировать...


Учитывая сообщение

Доставка: Post https://*************/jenkins: x509: сертификат действителен для xxxxxxxxxxxxx, а не yyyyyyyyyyyyyyy

У меня была такая же ошибка при интеграции с Jenkins. Проблема заключалась в том, что Gitea не поддерживает функцию "обнаружения сертификатов" (как, например, браузер, такой как Firefox, см.), А Jenkins был неправильно настроен и отправлял только сертификат конечного объекта.

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

согласно документу плагина Jenkins gitea:

Hint: you can ignore a "HTTP 403/Forbidden" error here in case your gitea instance is private.

дополнительная информация: https://plugins.jenkins.io/gitea/

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