Как соединить Дженкинса и Гиету
У меня проблема в том, что я хочу установить конвейер 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/