Take back what I said about the durable directory, they exist in both cases 
in this situation. So the below works. But if I have a global agent and try 
to over-ride that at a stage level I get the error about durable doesn't 
exist. 

On Thursday, March 8, 2018 at 1:28:04 PM UTC-8, Matthew Ceroni wrote:
>
> Ran another test that seems to validate somewhat of what I said above. 
> Instead of having a global agent I specified an agent per stage (2 stages)
>
> In this situation the first agent created the workspace, checked out the 
> code and the durable- directory existed.
>
> When it got to the second stage and connected to the docker container it 
> created the workspace but not the durable- directory but at the same time 
> didn't complain about it like the above error message.
>
>
> #!/usr/bin/env groovy
> @Library('[email protected]') _
>
> pipeline {
>   agent none
>   stages {
>
>     stage('Build') {
>       agent {
>         kubernetes {
>           label buildId()
>           containerTemplate {
>             name 'node'
>             image 'node:8.9.4-alpine'
>             ttyEnabled true
>             command 'cat'
>           }
>         }
>       }
>       steps {
>         sh "echo npm run build"
>         sh "/bin/sleep 120"
>         
>         // stash build directory
>         //stash includes: 'build/**', name: 'app'
>       }
>     }
>
>     stage('Package') {
>       agent { node { label 'docker1' } }
>       options { skipDefaultCheckout() }
>       steps {
>         sh "/bin/sleep 120"
>       }
>     }
>     
>   }
> }
>
>
>
>
>
>
>
> On Thursday, March 8, 2018 at 1:19:31 PM UTC-8, Matthew Ceroni wrote:
>>
>> I have the following example pipeline
>>
>> #!/usr/bin/env groovy
>> @Library('[email protected]') _
>>
>> pipeline {
>>   agent {
>>     kubernetes {
>>       label buildId()
>>       containerTemplate {
>>         name 'node'
>>         image 'node:8.9.4-alpine'
>>         ttyEnabled true
>>         command 'cat'
>>       }
>>     }
>>   }
>>   stages {
>>
>>     
>>     stage('Build') {
>>       steps {
>>         sh "echo npm run build"
>>         
>>         // stash build directory
>>         //stash includes: 'build/**', name: 'app'
>>       }
>>     }
>>
>>     stage('Unit Test') {
>>       steps {
>>         script {
>>           try {
>>             sh "echo npm run test"
>>           } catch (err) {
>>             println "Failed"
>>           //} finally {
>>            // junit 'build/reports/**/*.xml'
>>           }
>>         }
>>       }
>>     }
>>     
>>     stage('Package') {
>>       agent { node { label 'docker1' } }
>>       options { skipDefaultCheckout() }
>>       steps {
>>         sh "/bin/sleep 120"
>>       }
>>     }
>>     
>>   }
>> }
>>
>>
>> What happens is that on the Package stage I get the following error:
>>
>> [_location-service_PR-2-head-RP4JKIYE4QYJREC2YOQQGNKQG5UC56YLZET3VDC2IPW4C5FSH7EQ]
>>  Running shell script
>> sh: can't create 
>> /home/jenkins/workspace/_location-service_PR-2-head-RP4JKIYE4QYJREC2YOQQGNKQG5UC56YLZET3VDC2IPW4C5FSH7EQ@tmp/durable-de461dce/jenkins-log.txt:
>>  nonexistent directory
>>
>>
>> Since the node I am accessing in that step is a container I thought maybe it 
>> was a permissions issue. However I validated this wasn't the case by making 
>> that agent (node { label 'docker1' }} the top level agent and the pipeline 
>> runs fine. 
>>
>>
>> So my thought is that during the switch between agents/nodes it is expecting 
>> that directory to exist (it does create the workspace directory though, just 
>> not durable).
>>
>>
>> Any help would be appreciated.
>>
>>
>> Thanks
>>
>>

-- 
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/97ac2329-1926-4956-a974-c44341c6fd67%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to