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] <javascript:>> 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] <javascript:>.
>> 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] 
> <mailto:[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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/A6A3D602-404F-4593-97FF-D0A8E96DDA3B%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to