Это действительно похоже на проблему с брандмауэром. Существует несколько способов реализации таких локальных реализаций в Azure, не открывая вашу сеть извне.
Начиная с самого простого подхода
Приложения логики благодаря поддержке локального шлюза данных , который позволяет ему получать доступ к данным из локальных систем . [одна тысяча сто сорок-дв]
Это имеет несколько компонентов
Пользовательский разъем Вам нужно создать пользовательский разъем , который можно подключить через -предоставляет шлюз данных и имеет одно определенное действие, которое может вызвать ваш компьютер Jenkins
Настройка локального шлюза данных
Вам потребуется [ 113] настройте локальный шлюз данных в вашей локальной сети так, чтобы он имел доступ к вашему ведущему устройству Jenkins (может также находиться на том же хосте, что и ведущее устройство Jenkins)
Создание приложения логики
Это простая часть, где вы используете приложение логики вместо Function Function. Вы можете создать простое HTTP-приложение, запускаемое по протоколу HTTP , которое использует пользовательский коннектор, который вы создали для запуска задания Jenkins
Azure Automation имеет аналогичную функцию, в которой вы можете развернуть Hybrid Worker в локальной сети и запланировать задания в этом рабочий. [один тысяча сто сорок семь]
Вы можете развернуть любого из следующих работников в соответствии с вашими требованиями
Runbook, который вы бы написали, мог быть в PowerShell или Python , и его целью было бы просто вызвать API Jenkins для запуска задания.
Со всем этим вам нужно было бы запустить runbook на гибридном рабочем .
Вы также можете запустить runbook из веб-крючка .
Это скорее сетевое решение, в котором вы подключаете локальную сеть к Azure VNET, позволяя любым ресурсам в этой VNET получать доступ к вашей локальной сети. системы.
Есть несколько способов добиться этого, как описано в документации
Я не буду углубляться в то, как они настроены здесь. Вы можете обратиться к документации для получения подробных инструкций по настройке.
После настройки вы можете либо
Разоблачить Дженкинса
Для этого вы можете просто открыть порт в NSG вашего VNET, но это на самом деле не рекомендуется, так как вы могли бы просто вместо этого выставить его непосредственно в локальной сети.
Предпочтительным способом было бы настроить и использовать шлюз приложений Azure , который в основном является обратным прокси.
Разверните ваше приложение Function или Logic в VNET
Если вы не хотите выставлять конечную точку Jenkins извне, вы можете развернуть либо
В обоих этих сценариях вы могли напрямую вызывать конечную точку Jenkins, используя IP-адрес, на котором она размещена (сам локальный IP-адрес)
blockquote>
Ваше хранилище приложения может быть испорчено. Можно попытаться удалить этот ключ (он все удалит, любой в настоящее время устанавливаемый Нажимает приложения Once):
HKEY_CURRENT_USER\Software\Classes\SOFTWARE\Microsoft\Windows\CurrentVersion\Deployment\SideBySide
Как примечание, если Ваше приложение 'работает' помимо той ошибки или на других машинах, то это вероятно Ваша проблема.