No problem, glad you figured it out.

> On May 23, 2018, at 7:24 PM, JB <[email protected]> wrote:
> 
> I found, I need to put these commands in a script clause
> thanks for you help!
> 
> On Wednesday, May 23, 2018 at 1:48:24 PM UTC-4, Edward Bond wrote:
> You can use that pattern, it’s arguably better than what I use.
> 
> However my builds can look like, the environment really depicts how you can 
> execute things. I have a node labelled “default"
> 
> def runAndReturn(script){
>     toReturn = sh(script:script, returnStdout: true)
>     toReturn = toReturn[0..-2]
>     println toReturn
>     toReturn
> }
> 
> 
> node("default"){
>   stage('shhhh'){
>     x = runAndReturn("echo 134")
>     println(x)
>   }
> }
> 
> 
> 
> 
> This outputs:
> 
> [Pipeline] stage
> [Pipeline] { (shhhh)
> [Pipeline] sh
> [test] Running shell script
> + echo 134
> [Pipeline] echo
> 134
> [Pipeline] echo
> 134
> [Pipeline] }
> [Pipeline] // stage
> 
> 
> 
>> On May 23, 2018, at 12:41 PM, JB <[email protected] <javascript:>> wrote:
>> 
>> OK,
>> 
>> because I'm a beginner, wich pattern are you using?
>> 
>> On Wednesday, May 23, 2018 at 1:27:28 PM UTC-4, Edward Bond wrote:
>> JB,
>> 
>>      Sorry, you are using the declarative syntax. I run my builds with a 
>> different pattern.
>> 
>>      Something like this might work for you, 
>> 
>> 
>> 
>> def runAndReturn(script){
>>     toReturn = sh(script:script, returnStdout: true)
>>     toReturn = toReturn[0..-2]
>>     println toReturn
>>     toReturn
>> }
>> 
>> 
>> pipeline {
>>     agent any 
>>     
>>     stages {
>>         stage('Build project') { 
>>             steps {
>>                 git credentialsId: '*****', url: 'https://******'
>>                 sh 'dotnet build 
>> WebApplication/WebApplication1/WebApplication1.csproj'
>>             }
>>         }
>>     
>>         stage('Build image') { 
>>             steps {
>>               script {
>>                   tagBefore = runAndReturn("git describe --candidate=1 
>> --tags")
>>                   tag = runAndReturn("echo ${tagBefore} | cut -d\'-\' -f 1")
>>                   webImageName = 
>> "${env.ACR_LOGINSERVER}/my-project-1499882073260/test:${tag}"
>>                   sh "sudo docker build -t ${webImageName} -f 
>> WebApplication/WebApplication1/Dockerfile WebApplication/."
>>                }
>>                 
>>             }
>>         }
>>     }
>> }
>> 
>> 
>> 
>>> On May 23, 2018, at 12:20 PM, JB <[email protected] <>> wrote:
>>> 
>>> Hello Edward,
>>> 
>>> This is my script at all
>>> I think I did a mistake...
>>> 
>>> 
>>> pipeline {
>>>     agent any 
>>>     
>>>     stages {
>>>         stage('Build project') { 
>>>             steps {
>>>                 git credentialsId: '*****', url: 'https://******'
>>>                 sh 'dotnet build 
>>> WebApplication/WebApplication1/WebApplication1.csproj'
>>>             }
>>>         }
>>>     
>>>         stage('Build image') { 
>>>             steps {
>>>                 tagBefore = runAndReturn("git describe --candidate=1 
>>> --tags")
>>>                 tag = runAndReturn("echo ${tagBefore} | cut -d\'-\' -f 1")
>>>                 webImageName = 
>>> "${env.ACR_LOGINSERVER}/my-project-1499882073260/test:${tag}"
>>>                 sh "sudo docker build -t ${webImageName} -f 
>>> WebApplication/WebApplication1/Dockerfile WebApplication/."
>>>             }
>>>         }
>>>     }
>>> }
>>> 
>>> def runAndReturn(script){
>>>     toReturn = sh(script:script, returnStdout: true)
>>>     toReturn = toReturn[0..-2]
>>>     println toReturn
>>>     toReturn
>>> }
>>> 
>>> Thanks to all people!
>>> 
>>> Started by user demo
>>> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
>>> failed:
>>> WorkflowScript: 14: Expected a step @ line 14, column 17.
>>>                    tagBefore = runAndReturn("git describe --candidate=1 
>>> --tags")
>>>                    ^
>>> WorkflowScript: 15: Expected a step @ line 15, column 17.
>>>                    tag = runAndReturn("echo ${tagBefore} | cut -d\'-\' -f 
>>> 1")
>>>                    ^
>>> WorkflowScript: 16: Expected a step @ line 16, column 17.
>>>                    webImageName = 
>>> "${env.ACR_LOGINSERVER}/my-project-1499882073260/test:${tag}"
>>>                    ^
>>> 3 errors
>>>  at 
>>> org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
>>>  at 
>>> org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
>>>  (...)
>>>  at hudson.model.ResourceController.execute(ResourceController.java:97)
>>>  at hudson.model.Executor.run(Executor.java:405)
>>> Finished: FAILURE
>>> 
>>> 
>>> 
>>> On Wednesday, May 23, 2018 at 1:11:15 PM UTC-4, Edward Bond wrote:
>>> Don’t use sing quotes ‘, make sure you use “, that way the string can be 
>>> interpolated.
>>> 
>>> 
>>> I also use a global helper that grabs the output of `sh` functions.
>>> 
>>> def runAndReturn(script){
>>>   toReturn = sh(script:script, returnStdout: true)
>>>   toReturn = toReturn[0..-2]
>>>   println toReturn
>>>   toReturn
>>> }
>>> 
>>> stage('Build image') { 
>>>     steps {
>>>         tagBefore = runAndReturn("git describe --candidate=1 --tags")
>>>         tag = runAndReturn("echo ${tagBefore} | cut -d\'-\' -f 1")
>>>         webImageName = 
>>> "${env.ACR_LOGINSERVER}/my-project-1499882073260/test:${tag}"
>>>         sh "sudo docker build -t ${webImageName} -f 
>>> WebApplication/WebApplication1/Dockerfile WebApplication/."
>>>     }
>>> }
>>> 
>>> or something like:
>>> 
>>> 
>>>         stage('Build image') { 
>>>             steps {
>>>                 sh """
>>>                 export TAG=$(git describe --candidate=1 --tags)'
>>>                 export TAG=$(echo $TAG | cut -d\'-\' -f 1)'
>>>                 export 
>>> WEB_IMAGE_NAME=$ACR_LOGINSERVER/my-project-1499882073260/test:$TAG
>>>                 sudo docker build -t $WEB_IMAGE_NAME -f 
>>> WebApplication/WebApplication1/Dockerfile WebApplication/.
>>>                 """            
>>>             }
>>>         }
>>> 
>>> First example would allow you to go through and get access to strings to 
>>> have more control over the strings. Second is an example of how you could 
>>> use it to stay in bash.
>>> 
>>> 
>>>> On May 23, 2018, at 7:40 AM, JB <[email protected] <>> wrote:
>>>> 
>>>> Hello All,
>>>> 
>>>> Anyone knows how to edit a variable from shell and recover the result 
>>>> across each next shells.
>>>> 
>>>> I'm trying to get the git tag version and to push the value into an env 
>>>> variable.
>>>> In next, I'd like to re use the value into the next cmd shell.
>>>> 
>>>> It doesn't work!
>>>> 
>>>> Anyone has an idea? I worked more than 2 days to trying to fix it.
>>>> 
>>>>         stage('Build image') { 
>>>>             steps {
>>>>                 sh 'TAG=$(git describe --candidate=1 --tags)'
>>>>                 sh 'TAG=$(echo $TAG | cut -d\'-\' -f 1)'
>>>>                 sh 'WEB_IMAGE_NAME=' + env['ACR_LOGINSERVER'] + 
>>>> '/my-project-1499882073260/test:' + env['TAG']
>>>>         
>>>>                 sh 'sudo docker build -t ${WEB_IMAGE_NAME} -f 
>>>> WebApplication/WebApplication1/Dockerfile WebApplication/.'                
>>>>             }
>>>>         }
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "Jenkins Users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to [email protected] <>.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/jenkinsci-users/8effa089-07c3-4918-afdd-858513ef13cc%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/jenkinsci-users/8effa089-07c3-4918-afdd-858513ef13cc%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>> For more options, visit https://groups.google.com/d/optout 
>>>> <https://groups.google.com/d/optout>.
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Jenkins Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected] <>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/jenkinsci-users/7b789802-5cac-4801-9d02-2f4cb732eefb%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/jenkinsci-users/7b789802-5cac-4801-9d02-2f4cb732eefb%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>> For more options, visit https://groups.google.com/d/optout 
>>> <https://groups.google.com/d/optout>.
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jenkinsci-users/562025ac-3867-432b-a7fe-adb0d8901093%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/jenkinsci-users/562025ac-3867-432b-a7fe-adb0d8901093%40googlegroups.com?utm_medium=email&utm_source=footer>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-users/bd6b658f-d822-4025-8056-e98cc01d13b0%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jenkinsci-users/bd6b658f-d822-4025-8056-e98cc01d13b0%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/080BBD9F-EE59-46D7-ADC3-233E00D64629%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to