Добавить в system property hudson.midel..CSP запуске jenkins

После очередного обновления jenkins стало необходимо настраивать CSP, чтобы смотреть отчеты allure.
Доступное решение это в консоль сценариев каждый раз писать:
System.setProperty(hudson.model.DirectoryBrowserSupport.class.getName() + “.CSP”, “default-src ‘self’; script-src ‘self’ ‘unsafe-inline’ ‘unsafe-eval’; style-src ‘self’ ‘unsafe-inline’;”)
Как эту настройку прибить гвоздями при запуске?

http://wiki.qatools.ru/display/AL/Allure+Jenkins+Plugin#AllureJenkinsPlugin-configure-securityConfigureJenkinsContentSecurity

Мб не туда прописываю? В system properties эта настройка не выставляется.

Это не maven opt, а Jenkins system settings. Лично я добавлял эту опцию в jenkins.xml:

А так можно и скриптом выполнить через внутреннюю консоль.

4 Likes

Спасибо, мне помогло, УРА!

Чуть выше это решение для win, для ubuntu так
в /etc/default/jenkins нужно добавить в java_args строку идущую перед остальными параметрами иначе проигнорируется.

Если после рестарта jenkins посмотреть в System properties кавычки проигнорировались ‘self’… как результат отчеты не открываются. Экранирование не помогает.

Во-первых, от того, что вы накопипастили целый конвейер JAVA_ARGS строк, Jenkins’у лучше не станет, уж поверьте. Одной строки будет вполне достаточно. :wink:

Во-вторых, такой рандомный поток кавычек не переварит ни одно приложение. Неужели нельзя было скопировать точную строку из официальных источников по выше указанной линке?

"-Dhudson.model.DirectoryBrowserSupport.CSP=default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';"

1 - Хуже не будет от того что все раздельно)

2 - Именно такой набор кавычек позволяет хоть как то передать эту настройку
Если просто скопировать


Результат jenkins не стартует

Крайние кавычки нужно эскейпить:

JAVA_ARGS="\"-Dhudson.model.DirectoryBrowserSupport.CSP=default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';\""

Этот вариант 100% рабочий, исходя из комментариев разработчиков, которые используют jenkins на никсах.

3 Likes

Подтверждаю, все работает, большое спасибо)

Коллеги, можно для особо “одаренный”, плз, где необходимо прописать (OS Ubuntu) указанные на http://wiki.qatools.ru/display/AL/Allure+Jenkins+Plugin#AllureJenkinsPlugin-configure-securityConfigureJenkinsContentSecurity параметры?

ЗЫ jenkins.xml - только в форточке есть, а /etc/default/jenkins вообще такого не нешел.

А принятый ответ вас чем не устроил?

JAVA_ARGS - что ето.где ето?
Ето файл? Где он находится?
Ето команда? Где ее сетить?

установка jenkins выполнена верно?

What does this package do?
Jenkins will be launched as a daemon up on start. See /etc/init.d/jenkins for more details.
The ‘jenkins’ user is created to run this service.
Log file will be placed in /var/log/jenkins/jenkins.log. Check this file if you are troubleshooting Jenkins.
/etc/default/jenkins will capture configuration parameters for the launch like e.g JENKINS_HOME
By default, Jenkins listen on port 8080. Access this port with your browser to start configuration.

Товарищ @GorDi, если бы вы внимательно читали сообщения данной темы, то заметили бы всю необходимую информацию.

Спасибо за ответы, коллеги, виноват, изначально дал не полную информацию…

Вышеизложенными примерами не смог воспользоваться, т.к. Jenkins стоит на CentOS и не один из них не помогал решить задачу т.к. я не мог найти нужные фалы/пути.

Копание в интернетах вывело меня на следующую инфу:

For CentOS, modify JENKINS_JAVA_OPTIONS inside file:
/etc/sysconfig/jenkins (or jenkins-oc)

Собственно, зная ето, воспользовался ответом многоуважаемого ArtOfLife:

JAVA_ARGS=""-Dhudson.model.DirectoryBrowserSupport.CSP=default-src ‘self’; script-src ‘self’ ‘unsafe-inline’ ‘unsafe-eval’; style-src ‘self’ ‘unsafe-inline’;""

Вроде все взлетело, но, выявилась пренеприятнейшая особенность: алюр репорт открывается только для последнего билда, а на остальных все тот же самый вечный прелоадер :frowning:

Ваш способ почему-то не работает. Я прописываю в jenkins.xml, который лежит прямо в корне (Версия Jenkins ver. 2.6). Перезапускаю сервис. Но все равно отчеты не показывает, вечный лоадер. Где я не туда свернул?

 <arguments>-Xrs -Xmx1024m "-Dhudson.model.DirectoryBrowserSupport.CSP=default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';" "-Djenkins.model.DirectoryBrowserSupport.CSP=default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';" -Duser.timezone="Europe/Moskow" -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dmail.smtp.ssl.trust=* -jar "%BASE%\jenkins.war" -Dfile.encoding=UTF8 --httpPort=8080 </arguments>```

Не уверен поможет ли, кавычки лишние перед -Dhudson… и после

Буквально сегодня сетапил чистый Jenkins 2.7 с опциями с официального сайта Allure. Все завелось нормально. Кеш чистили?

не чистил, у меня и файла jenkins.xml по дефолту не было. я его скопировал в корень, но он не подхватывается jenkins, птотому что я делал его некорректным (удалял закрывающие теги), но Jenkins все равно взлетал. А где кеш чистить? Можете полностью строчку прислать arguments? Я с кавычками играл, точки с запятыми удалял. все побоку.:neutral_face: