Size: a a a

2021 March 21

JR

Jürgen Romins in jenkins_ru
Алексей Зорин
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: java.lang.String.getProperty() is applicable for argument types: (java.lang.String) values: [BRANCH_NAME]
Possible solutions: hasProperty(java.lang.String), getProperties()
 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
 at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:49)
 at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
 at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
 at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:20)
 at org.jenkinsci.plugins.pipeline.modeldefinition.when.impl.BranchConditionalScript.evaluate(BranchConditionalScript.groovy:39)
 at org.jenkinsci.plugins.pipeline.modeldefinition.when.impl.AnyOfConditionalScript.evaluate(AnyOfConditionalScript.groovy:40)
 at com.cloudbees.groovy.cps.CpsDefaultGroovyMethods.any(CpsDefaultGroovyMethods:2343)
 at org.jenkinsci.plugins.pipeline.modeldefinition.when.impl.AnyOfConditionalScript.evaluate(AnyOfConditionalScript.groovy:39)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter$WhenEvaluator.evaluateWhen(ModelInterpreter.groovy:851)
 at com.cloudbees.groovy.cps.CpsDefaultGroovyMethods.every(CpsDefaultGroovyMethods:2228)
 at com.cloudbees.groovy.cps.CpsDefaultGroovyMethods.every(CpsDefaultGroovyMethods:2249)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter$WhenEvaluator.evaluateWhen(ModelInterpreter.groovy:850)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter$WhenEvaluator.evaluateWhen(ModelInterpreter.groovy)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter$WhenEvaluator.passedOrNotEvaluated(ModelInterpreter.groovy:841)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:273)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inDeclarativeAgent(ModelInterpreter.groovy:586)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inDeclarativeAgent(ModelInterpreter.groovy:585)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:272)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.stageInput(ModelInterpreter.groovy:356)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.stageInput(ModelInterpreter.groovy:355)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:261)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inWrappers(ModelInterpreter.groovy:613)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.inWrappers(ModelInterpreter.groovy:612)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:259)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withEnvBlock(ModelInterpreter.groovy:443)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.withEnvBlock(ModelInterpreter.groovy:442)
 at org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.evaluateStage(ModelInterpreter.groovy:254)
 at ___cps.transform___(Native Method)
 at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:86)
 at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:113)
 at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:83)
 at sun.reflect.GeneratedMethodAccessor218.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
 at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
ошибка если пайплайн лежит в гите?
источник

АЗ

Алексей Зорин... in jenkins_ru
Jürgen Romins
ошибка если пайплайн лежит в гите?
Не совсем понял)
источник

JR

Jürgen Romins in jenkins_ru
Алексей Зорин
Не совсем понял)
при каких условия не работает?
источник

АЗ

Алексей Зорин... in jenkins_ru
все лежит в bitbucket, job запускается при  push или pr. Там проходит 3-и stage  и 2-е нет.
источник

JR

Jürgen Romins in jenkins_ru
Алексей Зорин
все лежит в bitbucket, job запускается при  push или pr. Там проходит 3-и stage  и 2-е нет.
Lightweight checkout используется в настройках job?
источник

AS

Anton Sergievich in jenkins_ru
Алексей Зорин
все лежит в bitbucket, job запускается при  push или pr. Там проходит 3-и stage  и 2-е нет.
Провидцев нет, что у вас там в двух stages которые падают
источник

A

Alexander in jenkins_ru
Всем привет! Уже несколько дней не могу разобраться, подскажите. Задача: через ноду по ssh подключиться к серверу, остановить процесс, проверить остановился ли процесс, перезапустить его. Проблема, что после команды остановки процесса (процесс останавливается), остальные команды не выполняются, ssh подключение обрывается и сборка дальше не собирается (результат FAILURE). Где ошибка, или как делать правильно?
   sh([
       script: """
       ssh "${user}@${IP}" "
           pgrep -f ${process} | xargs kill -9
           echo 'START'
           while pgrep -f ${process}; do echo 'active'; sleep 3; done
           echo 'FINISH'
           sudo systemctl start ${process}
       "
       """
   ])
источник

JR

Jürgen Romins in jenkins_ru
Alexander
Всем привет! Уже несколько дней не могу разобраться, подскажите. Задача: через ноду по ssh подключиться к серверу, остановить процесс, проверить остановился ли процесс, перезапустить его. Проблема, что после команды остановки процесса (процесс останавливается), остальные команды не выполняются, ssh подключение обрывается и сборка дальше не собирается (результат FAILURE). Где ошибка, или как делать правильно?
   sh([
       script: """
       ssh "${user}@${IP}" "
           pgrep -f ${process} | xargs kill -9
           echo 'START'
           while pgrep -f ${process}; do echo 'active'; sleep 3; done
           echo 'FINISH'
           sudo systemctl start ${process}
       "
       """
   ])
Tmux?
источник

HC

Henry Chinaski in jenkins_ru
Alexander
Всем привет! Уже несколько дней не могу разобраться, подскажите. Задача: через ноду по ssh подключиться к серверу, остановить процесс, проверить остановился ли процесс, перезапустить его. Проблема, что после команды остановки процесса (процесс останавливается), остальные команды не выполняются, ssh подключение обрывается и сборка дальше не собирается (результат FAILURE). Где ошибка, или как делать правильно?
   sh([
       script: """
       ssh "${user}@${IP}" "
           pgrep -f ${process} | xargs kill -9
           echo 'START'
           while pgrep -f ${process}; do echo 'active'; sleep 3; done
           echo 'FINISH'
           sudo systemctl start ${process}
       "
       """
   ])
Каждую команду выполнять со входом по ssh
источник

A

Alexander in jenkins_ru
Henry Chinaski
Каждую команду выполнять со входом по ssh
Все-равно тоже самое
источник

HC

Henry Chinaski in jenkins_ru
Alexander
Все-равно тоже самое
не верю. У меня сейчас такими костылями сделано выполнение некоторых задач, все никак руки не доходят на ssh плагин переделать
источник

A

Alexander in jenkins_ru
Не понял. Можно поподробнее
источник

M

MAdMAx in jenkins_ru
Alexander
Всем привет! Уже несколько дней не могу разобраться, подскажите. Задача: через ноду по ssh подключиться к серверу, остановить процесс, проверить остановился ли процесс, перезапустить его. Проблема, что после команды остановки процесса (процесс останавливается), остальные команды не выполняются, ssh подключение обрывается и сборка дальше не собирается (результат FAILURE). Где ошибка, или как делать правильно?
   sh([
       script: """
       ssh "${user}@${IP}" "
           pgrep -f ${process} | xargs kill -9
           echo 'START'
           while pgrep -f ${process}; do echo 'active'; sleep 3; done
           echo 'FINISH'
           sudo systemctl start ${process}
       "
       """
   ])
если приложение приходится убивать таким способом - то явно что-то не так в коде ))
надо пнуть разработчиков, чтоб нормально сделали ))
источник

A

Alexander in jenkins_ru
Henry Chinaski
не верю. У меня сейчас такими костылями сделано выполнение некоторых задач, все никак руки не доходят на ssh плагин переделать
Первый sh срабатывает, после второго все валится
node(NODE) {
   stage("Git pull and stop proccess") {
   sh([
       script: """
       ssh -o StrictHostKeyChecking=no "${user}@${IP}" "
           cd ${folder}
           git checkout ${branch} && git pull
           echo 'FINISH'
       "
       """
   ])    
   sh([
       script: """
       ssh -o StrictHostKeyChecking=no "${user}@${IP}" "
           pgrep -f ${proccess} | xargs kill -9
       "
       """
   ])
   sh([
       script: """
       ssh -o StrictHostKeyChecking=no "${user}@${IP}" "
           while pgrep -f ${proccess}; do echo 'active'; sleep 3; done
       "
       """
   ])
   sh([
       script: """
       ssh -o StrictHostKeyChecking=no "${user}@${IP}" "
           sudo systemctl start ${proccess}
       "
       """
   ])
       
   }
источник

A

Alexander in jenkins_ru
Alexander
Всем привет! Уже несколько дней не могу разобраться, подскажите. Задача: через ноду по ssh подключиться к серверу, остановить процесс, проверить остановился ли процесс, перезапустить его. Проблема, что после команды остановки процесса (процесс останавливается), остальные команды не выполняются, ssh подключение обрывается и сборка дальше не собирается (результат FAILURE). Где ошибка, или как делать правильно?
   sh([
       script: """
       ssh "${user}@${IP}" "
           pgrep -f ${process} | xargs kill -9
           echo 'START'
           while pgrep -f ${process}; do echo 'active'; sleep 3; done
           echo 'FINISH'
           sudo systemctl start ${process}
       "
       """
   ])
А может быть проблема в том, что процесс долго останавливается (используется не kill -9, а функция для аккуратной остановки процесса, хотя с kill -9 тоже все валится)? Написал sh файл с этими командами и все работает без обрывов подключения, сборка нормально собирается.
источник

JR

Jürgen Romins in jenkins_ru
Alexander
Не понял. Можно поподробнее
Во первых -9 не дело отсылать, во вторых можно запустить выполнение команд в тмуксе тогда не будет дисконекта
источник

u

unixshaman in jenkins_ru
Добрый вечер, подскажите, пожалуйста,
подключение к Vault используя такой код
def var = vault(path: "${env["VAULT_${project}_SECRETS_ENGINE"]}/${environment}",
   key: variableName,
   vaultUrl: env["VAULT_${project}_ADDR"],
   credentialsId: env["VAULT_${project}_JENKINS_CREDS"],
   engineVersion: '2'
)

обваливается с NullPointerException если версия Vault Plugin выше 3.0.0. Т.е. я обновился на последнюю версию Jenkins и Vault плагин обновил, на 3.7.0.
Нашел множество issues на это тему, но чет ничего не помогло
источник

JR

Jürgen Romins in jenkins_ru
unixshaman
Добрый вечер, подскажите, пожалуйста,
подключение к Vault используя такой код
def var = vault(path: "${env["VAULT_${project}_SECRETS_ENGINE"]}/${environment}",
   key: variableName,
   vaultUrl: env["VAULT_${project}_ADDR"],
   credentialsId: env["VAULT_${project}_JENKINS_CREDS"],
   engineVersion: '2'
)

обваливается с NullPointerException если версия Vault Plugin выше 3.0.0. Т.е. я обновился на последнюю версию Jenkins и Vault плагин обновил, на 3.7.0.
Нашел множество issues на это тему, но чет ничего не помогло
А полная ошибка какая?
источник

u

unixshaman in jenkins_ru
Jürgen Romins
А полная ошибка какая?
Не быстро будет ее достать, это находится далеко и я специально мьютил любую ошибку, которая там может происходит. Попробую ответить через пол часика только.
источник

AS

Anton Sergievich in jenkins_ru
Alexander
Первый sh срабатывает, после второго все валится
node(NODE) {
   stage("Git pull and stop proccess") {
   sh([
       script: """
       ssh -o StrictHostKeyChecking=no "${user}@${IP}" "
           cd ${folder}
           git checkout ${branch} && git pull
           echo 'FINISH'
       "
       """
   ])    
   sh([
       script: """
       ssh -o StrictHostKeyChecking=no "${user}@${IP}" "
           pgrep -f ${proccess} | xargs kill -9
       "
       """
   ])
   sh([
       script: """
       ssh -o StrictHostKeyChecking=no "${user}@${IP}" "
           while pgrep -f ${proccess}; do echo 'active'; sleep 3; done
       "
       """
   ])
   sh([
       script: """
       ssh -o StrictHostKeyChecking=no "${user}@${IP}" "
           sudo systemctl start ${proccess}
       "
       """
   ])
       
   }
выкинь такой код, и никогда не делай через xargs. перепиши через for. у тебя может процесса и нет такого который ты пытаешься убить, и при таком исходе у тебя ошибка оттуда должна прилетать
источник