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.