Проксито на складиштето на Maven припаѓа во неговиот settings.xml. Кога изградба на Jenkins веќе се извршува во контејнер на Maven, доставете ја таа датотека на Maven процесот што работи таму.

Зачувајте го целиот предвиден settings.xml како Jenkins Secret file акредитив со име maven-proxy-settings. Во чекорите на постоечката фаза на контејнерот:

withCredentials([
    file(credentialsId: 'maven-proxy-settings', variable: 'MAVEN_SETTINGS')
]) {
    sh 'mvn -s "$MAVEN_SETTINGS" -B verify'
}

Поврзувањето дава привремена патека до датотека. Groovy низата во единечни наводници го препушта проширувањето на променливите на shell, а двојните наводници на shell ја чуваат патеката како еден аргумент. Опцијата -s на Maven ја избира таа датотека како кориснички поставки; -B избира пакетен режим.

Датотеката со акредитиви може да ги содржи хостот, портата, автентикацијата и nonProxyHosts на проксито во делот proxies, заедно со други потребни кориснички поставки. Списокот за заобиколување прокси во Maven користи вертикални црти помеѓу шаблоните за хост.

Датотеката мора да постои таму каде што работи Maven

Со Docker Pipeline, агентот и контејнерот бараат компатибилен монтиран систем на датотеки за поврзаната патека да биде читлива во контејнерот за извршување. Рачно стартуван docker run бара експлицитно монтирање на датотека, по можност само за читање, и Maven мора да ја добие патеката од страната на контејнерот. Пренесувањето на патеката од хостот само како променлива на околината не ја прави датотеката достапна.

Држете ја секоја промена на работниот директориум во блокот за поврзување акредитиви за тајната датотека да не заврши во прегледлива поддиректориумска работна област. Не печатете ја датотеката во дневникот на изградбата и не копирајте ја во постојана слика.

Ова избира кориснички поставки. И глобалните поставки на Maven можат да учествуваат, затоа прегледајте ги двете ако наследено огледало или друга конфигурација продолжува да влијае на решавањето.

Поврзани статии