За една команда на Unix Jenkins агент, поставете задаването на прокси върху тази команда:

node('linux') {
    sh 'http_proxy=http://build-proxy.example:8080 https_proxy=http://build-proxy.example:8080 ./build.sh'
}

Примерът предполага, че хранилището има скрипт за изграждане и инструментите на агента четат тези имена на среда. Задаванията заменят наследените стойности за тази команда и нейните дъщерни процеси. Те не пренаписват постоянната среда на машината. За стъпка за изграждане, която изтегля публични артефакти по разрешен маршрут без удостоверяване на прокси, списъкът с HTTP прокси сървъри може да предостави кандидат HTTP крайни точки за тези стойности.

Ако няколко стъпки на Pipeline трябва да споделят замяната, използвайте блок withEnv около тези стъпки. Jenkins документира, че работата му с променливи не е чувствителна към регистъра, но го запазва; проверете получения правопис, когато Unix инструмент изисква определено име с малки букви.

Обикновен export в една стъпка sh принадлежи на тази обвивка. Следваща независима стъпка на обвивка е нов процес и не наследява промените, направени от съседната.

Приложете настройката там, където се изпълнява командата. Изтеглянията на контролера на Jenkins и инструмент, стартиран на отдалечен агент, са отделни мрежови консуматори. Успешна проверка за актуализация на контролера не доказва маршрута на командата на агента.

Подобни статии