У меня есть экземпляр Jenkins, работающий за брандмауэром, и я не хочу раскрывать интерфейс Jenkins в Интернете. (Даже с безопасностью, это определенно не вариант). Мое желание состояло в том, чтобы открыть другой порт, который может запускать только сборки, но не предоставляет интерфейс. Я просмотрел список плагинов, но я не нашел подходящего плагина. В моей текущей настройке выполняется apache как прокси-сервер и разрешается запуск с помощью регулярного выражения на другом порту. (Но не любой другой URL). Apache делает для большой дополнительной нагрузки (и памяти, ее очень маленькой машины), поэтому я действительно хотел бы избавиться от нее. Есть ли у кого-нибудь предложение разрешить триггеры через открытый порт, но не подвергать Jenkins UI или другим URL-адресам Jenkins через этот порт?Как безопасно запускать Jenkins сборки из Github
ответ
Если вы столкнулись с проблемой, вы можете опробовать репозиторий github для внесения изменений. Расписание опроса можно настроить с помощью синтаксиса CRONTAB.
«5 asterixs» в CRONTAB означает опрос каждую минуту каждого часа каждого дня. Более или менее то же, что и каждое здание.
У меня теперь есть настройка, которая отвечает моим требованиям: низкое использование ресурсов & безопасно. Я заменил апача небольшой Баш скрипт, используя чистую кошку, чтобы эмулировать веб-сервер:
#!/bin/bash
while true ; do
echo -e "HTTP/1.1 204 No Content\r\nConnection: close\r\n\r" | nc -l -v -p [outer port number] > /dev/null
wget -O /dev/null [jenkins base url]/git/notifyCommit?url=[repository url] &>/dev/null
sleep 5
done
Первая строка (в цикле) ответов с HTTP никакого статуса содержимого, которое поддерживается с помощью триггера Github. Полезная нагрузка направляется в/dev/null. Важно не смотреть на полезную нагрузку и пытаться извлечь детали в сценарий оболочки, потому что дезинфицирующий ввод легко делается неправильно в bash (по крайней мере для меня).
Вторая строка запускает Jenkins для поиска изменений (и сборки, если есть изменения).
Сон в последней строке заключается в предотвращении сценария DOS, если часто используется вызывающий порт.
Сценарий запускается через cron с графиком
@reboot
.
- 1. Как динамически запускать нисходящие сборки в jenkins?
- 2. Jenkins: как запускать сборки в уникальных каталогах
- 3. Автоматические сборки из Github
- 4. Как я могу запускать сборки Jenkins из нескольких частных хранилищ GitHub?
- 5. Jenkins не посылает никакого статуса сборки Github
- 6. Как программно запускать определенную сборку jenkins, управляемую github-организацией?
- 7. Как безопасно отключить Jenkins?
- 8. Как всегда запускать шаг сборки в Jenkins и игнорировать сбой
- 9. Как открыть проблему на Github после сбоя сборки Jenkins
- 10. Как добавить изменения в github после сборки jenkins?
- 11. Jenkins CI: Как запускать сборки на SVN commit
- 12. Невозможно заставить Jenkins запускать сборку на изменениях Github
- 13. Jenkins and github
- 14. Как безопасно настроить конфигурацию Jenkins?
- 15. Действительно ли «безопасно» запускать агент сборки VSTS локально (используя PAT)?
- 16. Jenkins github webook payload
- 17. Как получить Jenkins, чтобы нажать статус сборки в Github из-за брандмауэра
- 18. Безопасно ли запускать мои запросы из массива?
- 19. Маркировка проекта GitHub через Jenkins
- 20. Конфигурация Jenkins CI: сценарии сборки/тестирования/развертывания
- 21. Можно ли безопасно удалить репозиторий из Github
- 22. Как подключить плагин из трубопровода сборки Jenkins
- 23. Jenkins GitHub Plugin Inverse Branch
- 24. Jenkins '/ etc/default/jenkins не обновляется безопасно?
- 25. Jenkins autobuild переходит в цикл, когда github совершает триггеры сборки
- 26. Jenkins не запускает задачу сборки gulp с плагином Github
- 27. Jenkins - отслеживание предполагаемого времени сборки
- 28. Jenkins + Github - Trigger java program
- 29. Как настроить Selenium + GitHub + Jenkins
- 30. Jenkins + Maven + Github
@Andrew Существует несколько причин, почему я рассматриваю опрос не как вариант. [Это] (http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/) - один. – Cfx