Size: a a a

2020 August 02

/

/warn in jenkins_ru
А то я ничего не нашел стоящего.
источник

DB

Dmitry Burmistrov in jenkins_ru
я хз, с вебхуками я только generic и юзал. да и то больше для общего понимания вопроса...
источник
2020 August 03

HC

Henry Chinaski in jenkins_ru
Всем привет! Призываю гуру и знатоков

Я хочу реализовать конструкцию, чтобы при первом релизе было true(с этим все норм), и в случае если приложение называется одним из имени из списка, то было false Привел к такому виду, и чет не работает. Все равно условие срабатывает
when {
expression {
               env.IS_FIRST_RELEASE == 'false' &&
                       !['exapp', 'app-feed', 'app-aggregate'].contains("$APPLICATION_NAME")
           }
}
источник

VS

Vasilyev Sergey in jenkins_ru
Лучше юзать in как в питоне
источник

VS

Vasilyev Sergey in jenkins_ru
И && не нужен. Просто юзайте следующий expression
источник

HC

Henry Chinaski in jenkins_ru
Vasilyev Sergey
И && не нужен. Просто юзайте следующий expression
типа в стейдже привести к такому виду?
when {
    expression  {  ... }
    expression  {  ... }
}
источник

VS

Vasilyev Sergey in jenkins_ru
Henry Chinaski
типа в стейдже привести к такому виду?
when {
    expression  {  ... }
    expression  {  ... }
}
Да. Там по умолчанию между экспрешнами булевое "и"
источник

HC

Henry Chinaski in jenkins_ru
Vasilyev Sergey
Да. Там по умолчанию между экспрешнами булевое "и"
о, круто! Спасибо, не знал
источник

M

Mark in jenkins_ru
I am using the latest jenkins "Role-based Authorization Strategy".
 The configuration in "Manage Roles" -> "Item roles" does not take effect. After configuring the Global roles, the user login shows all the items.
In the previous version, the same method: "Project roles" can take effect.
Why is that?thanks
источник

HC

Henry Chinaski in jenkins_ru
Vasilyev Sergey
Лучше юзать in как в питоне
а что скажете насчёт indexOf?
источник

VS

Vasilyev Sergey in jenkins_ru
Henry Chinaski
а что скажете насчёт indexOf?
Хм...
источник

VS

Vasilyev Sergey in jenkins_ru
Henry Chinaski
а что скажете насчёт indexOf?
https://docs.groovy-lang.org/latest/html/documentation/#_membership_operator

Похоже, что это все один и тот же оператор :)
источник

HC

Henry Chinaski in jenkins_ru
Vasilyev Sergey
https://docs.groovy-lang.org/latest/html/documentation/#_membership_operator

Похоже, что это все один и тот же оператор :)
хм! А действительно
источник

PN

Pavel Nov in jenkins_ru
Привет, подскажите пожалуйста в какую сторону копать, потеребил доки дженкинса, поэкспериментировал и пока так и не понял где искать решение.
В двух словах - есть Dockerfile в котором используется переменная окружения в котороую я жкпортирую ssh-ключ на время сборки докер-имейджа.

ARG SSH_PRIVATE_KEY
RUN mkdir /root/.ssh/
RUN echo "${SSH_PRIVATE_KEY}" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa

билд запускается с использованием этой переменной:
docker build --rm --no-cache --build-arg SSH_PRIVATE_KEY -f Dockerfile -t

В баше все прекрасно работает если в ENV доступна переменная с ключем, сборка корректно отрабатывает.
Решил сделать сборку этого докерфайла на в Jenkins, но столкнулся с тем, что конструкции вида:

environment {
   SSH_PRIVATE_KEY = credentials('git-ssh-key')
steps {
   sh '''
       docker build --rm --no-cache --build-arg ${SSH_PRIVATE_KEY} -f /path-to-/Dockerfile -t local/target:latest .
   '''
}

В средах git-ssh-key лежит rsa-ключ от нужного пользователя. Куда копать? Может кто подскажет?
источник

PN

Pavel Nov in jenkins_ru
В логе видно, что дженкинс подставляет в параметр --build-arg SSH_PRIVATE_KEY именно само содержимое ключа, и иснструкция ARG не подхватывает это, так как ожидает просто имя переменной, а не ее содержимое. Мне нужно как-то передать ключ внутрь докерфайла динамически, ситуация необычна тем, что используется multistage build что бы ключ не светился в слоях имейджа после сборки
источник

HC

Henry Chinaski in jenkins_ru
Pavel Nov
В логе видно, что дженкинс подставляет в параметр --build-arg SSH_PRIVATE_KEY именно само содержимое ключа, и иснструкция ARG не подхватывает это, так как ожидает просто имя переменной, а не ее содержимое. Мне нужно как-то передать ключ внутрь докерфайла динамически, ситуация необычна тем, что используется multistage build что бы ключ не светился в слоях имейджа после сборки
withCredentials([usernamePassword(credentialsId: env.NEXUS_CREDENTIALS_ID,
                       usernameVariable: 'nexusUser', passwordVariable: 'nexusPassword')]) {
                   sh "wget --user=${nexusUser} --password=${nexusPassword} $NEXUS_PATH"
               }
источник

I

Ilgiz in jenkins_ru
Pavel Nov
В логе видно, что дженкинс подставляет в параметр --build-arg SSH_PRIVATE_KEY именно само содержимое ключа, и иснструкция ARG не подхватывает это, так как ожидает просто имя переменной, а не ее содержимое. Мне нужно как-то передать ключ внутрь докерфайла динамически, ситуация необычна тем, что используется multistage build что бы ключ не светился в слоях имейджа после сборки
мне кажется ты щас передаешь переменную дженкинса а не системы
источник

С

Сайхан in jenkins_ru
@pauelstv  ```
RUN echo "${SSH_PRIVATE_KEY}" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
``` лучше cat вместо echo
источник

PN

Pavel Nov in jenkins_ru
Ilgiz
мне кажется ты щас передаешь переменную дженкинса а не системы
попробовал так: не работает, хотя в логе показывает звездоки```        stage('Build docker image') {
           steps {
               sh '''
                   echo ${SSH_PRIVATE_KEY}
                   export SSH_PRIVATE_KEY=${SSH_PRIVATE_KEY}
                   docker build --rm --no-cache --build-arg SSH_PRIVATE_KEY -f /gits/trigger-image/master/Dockerfile -t local/target:latest .
                   '''
````
источник

HC

Henry Chinaski in jenkins_ru
Сайхан
@pauelstv  ```
RUN echo "${SSH_PRIVATE_KEY}" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
``` лучше cat вместо echo
+
источник