Size: a a a

2021 June 16

DS

Dmitry Sergeev in jenkins_ru
в пайплайне без доп разрешений замыкания и collect вряд-ли позволено делать
источник

A

Anton in jenkins_ru
с этим так и не решилось . придется пробовать
источник

DS

Dmitry Sergeev in jenkins_ru
А зачем вообще так делать?
источник

DS

Dmitry Sergeev in jenkins_ru
it.value = true и все
источник

A

Anton in jenkins_ru
не работает так
источник

DS

Dmitry Sergeev in jenkins_ru
ну я выше писал почему может не работать такое в пайплайне. Предлагал либо апрувить (/scriptApproval) либо в shared lib вывоить, либо вместо замыкания и collect использовать простой цикл for (i in getParameters()) {} использовать

+ без ошибки неясно что вообще происходит
источник

A

Anton in jenkins_ru
  def aaa = getParameters().collect {
   if( it.name == 'FORCE_REBUILD') { println it.value == true }
   return it
 }

 echo "${aaa}"


[(BooleanParameterValue) FORCE_REBUILD='false',
источник

A

Anton in jenkins_ru
у меня и так в шаред либе оно
источник

DS

Dmitry Sergeev in jenkins_ru
понял, у него нет сеттеров в  этом классе
источник

A

Anton in jenkins_ru
не силен в этом)) пытаюсь разобраться
источник

DS

Dmitry Sergeev in jenkins_ru
Ну придется создавать объект этого же класса. Заменив его value. Как красиво это сделать я хз.
Но вот так будет работать по идее:
aaa = getParameters().collect {
       if (it.name == 'TEST' && it.getClass() == hudson.model.BooleanParameterValue ) {
           return new hudson.model.BooleanParameterValue(it.name, true)
       }
       return it
   }
источник

A

Anton in jenkins_ru
да не в красоте дело ))
источник

OK

Oleksandr Knysh in jenkins_ru
С добрым, гайз есть вопрос - кто прикручивал VaultAppRole Credentials + вызов в Pipeline и там же в pipeline вызов helmfile ? Загвоздка в том что с помощью кредов я могу вытащить секреты которые мне нужны, а вот передать VAULT_TOKEN или его значение я не могу (он нужен для helmfile), ибо не могу его извлечь чтобы напрямую засетить переде выполнением helmfile
источник

A

Anton in jenkins_ru
.collect забыл)
источник

A

Anton in jenkins_ru
спасибо) вроде работает
источник

DS

Dmitry Sergeev in jenkins_ru
+
источник

KM

Kirill Muhin in jenkins_ru
Просто в env прокидывали из кредитов и всё
источник

OK

Oleksandr Knysh in jenkins_ru
Vault token... Согласен... С AppRole дела обстоят несколько иначе. В общем это основная концепция что при аутентификации через Vault AppRole сам токен нигде не сохраняется, но вытащить его можно чисто теоретически. Но нужны приседания. А сам плагин в дженкинсе прекрасно вытаскивает секреты и волта через Vault AppRole... Но если нужен сам токен хоть и временно... То тут уже нужны приседания... В общем нетривиально
источник
2021 June 17

M

MAdMAx in jenkins_ru
Отдал креды волт-агенту, к которому хожу вообще без токена.
Т.е. сам jenkins не знает про креды вообще ничего кроме «ветка/ключ»
источник

D

Den4ik in jenkins_ru
Всем привет.
Столкнулся с непонятной ситуацией. При выполнении куска scripted pipeline
def notes_url = new URL("${Url}")
URLConnection notes = notes_url.openConnection()
notes.setDoOutput(true);
notes.setRequestMethod("GET")
InputStream note_inputStream = notes.getInputStream();
def var_notes = new groovy.json.JsonSlurperClassic().parseText(note_inputStream.getText());
notes.disconnect();
for ( note in var_notes ) {
 delele_note(note["id"].toString())
 sh 'sleep 1'
}

Получаю ошибку
java.io.NotSerializableException: sun.net.www.protocol.https.HttpsURLConnectionImpl
Если убрать из цикла строку вызывающую sleep, то эта часть скрипта выполняется без ошибок. Но по некоторым соображениям эта строка необходима.
В начало jenkinsfile пробовал добавить
import java.net.HttpURLConnection;
Ошибка осталась прежняя. Есть у кого-нибудь идеи?
источник