Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

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

ubuntu
jenkins
Теги: #<Tag:0x00007fedbacb4e90> #<Tag:0x00007fedbacb4cb0>

(Fruit Jazzy) #1

После очередного обновления 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’;”)
Как эту настройку прибить гвоздями при запуске?


(Stan) #2

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


(Fruit Jazzy) #3

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


(Sergey Korol) #4

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

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


Как задать настройки безопасности jenkins для работы allure навсегда? (приходится задавать после каждого перезапуска jenkins)
(Женя Воронкин) #5

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


(Fruit Jazzy) #6

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

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


(Sergey Korol) #7

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

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

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

(Fruit Jazzy) #8

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

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


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


(Sergey Korol) #9

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

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

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


(Fruit Jazzy) #10

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


(GorDi) #11

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

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


(Sergey Korol) #12

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


(GorDi) #13

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


(Fruit Jazzy) #14

установка jenkins выполнена верно?
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
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.


(Sergey Korol) #15

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


(GorDi) #16

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

Вышеизложенными примерами не смог воспользоваться, т.к. 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:


(Crazyk2) #17

Ваш способ почему-то не работает. Я прописываю в 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>```

(Fruit Jazzy) #18

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


(Sergey Korol) #19

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


(Crazyk2) #20

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