Poll git removes build artifacts/clean repository on node workspace

26 views
Skip to first unread message

zakyn

unread,
Jan 17, 2023, 4:13:21 AM1/17/23
to Jenkins Users
Hello,
we have a problem that polling git clean the repository in workspace on the node.

Steps:
1. clone git repository  and  build
2. build artifacts are in workspace on the node
3. press poll smc button -> build artifacts are removed from workspace on the node and the clean repository is still available.

Could you please help me how to get a rid of this behavior?

Thank you.

Vladimir 

Björn Pedersen

unread,
Jan 17, 2023, 10:23:49 AM1/17/23
to Jenkins Users
First:
You should always consider workspaces ephemeral (they can get cleaned/removed by jenkins at anytime(if not in use).
If you want to keep artifacts then use an archive artifacts step or push them to some other repo (by scp, upload, whatever...) as appropriate.

If you want more help, please specify exactly how your job is configured.
 
Thank you.

Vladimir 

Vladimir Zak

unread,
Jan 17, 2023, 10:57:45 AM1/17/23
to jenkins...@googlegroups.com
Hello,
thank you.

The job is defined as a jenkinsfile with the polling and git checkout and other build steps.
The snippet of jenkinsfile is below.

After deeper investigation just at the time when polling is executed (every hour) the build files from the workspace on the node
are removed and the repository stays there. 

We are using the artifacts but sometimes you need some intermediate files that's why we do not delete workspace after job but before.

We are migrating from jenkins    2.222.3 (everything works)  -> 2.375.2   

Thank you for your help.

Vladimir

-------------------------------
Jenkinsfile part:
    
    triggers{
        pollSCM('@hourly')
    }
        
       stage('Clean workspace'){
           
            steps{
                cleanWs deleteDirs: true, patterns: [[pattern: '**/.git/**', type: 'EXCLUDE']]
            }
        }

        stage('Checkout Git'){
            steps{
                checkout(
                    [$class: 'GitSCM',
                    branches: [[name: "remotes/origin/${BUILD_BRANCH}"]],
                    browser: [
                        $class: 'GitWeb',
                        repoUrl: 'URL'],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [
                        [$class: 'DisableRemotePoll'],
                        [$class: 'CleanBeforeCheckout'],
                        [$class: 'CheckoutOption', timeout: 120]],
                        submoduleCfg: [],
                        userRemoteConfigs: [
                            [url: 'URL']
                        ]
                    ]
                )
            }
        }

        stage('another setp'){
.....









út 17. 1. 2023 v 16:23 odesílatel 'Björn Pedersen' via Jenkins Users <jenkins...@googlegroups.com> napsal:
--
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 jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/5bb24922-02c7-462c-9725-3411e47f966fn%40googlegroups.com.

Björn Pedersen

unread,
Jan 18, 2023, 2:35:15 AM1/18/23
to Jenkins Users
zakyn schrieb am Dienstag, 17. Januar 2023 um 16:57:45 UTC+1:
Hello,
thank you.

The job is defined as a jenkinsfile with the polling and git checkout and other build steps.
The snippet of jenkinsfile is below.

After deeper investigation just at the time when polling is executed (every hour) the build files from the workspace on the node
are removed and the repository stays there. 

We are using the artifacts but sometimes you need some intermediate files that's why we do not delete workspace after job but before.

We are migrating from jenkins    2.222.3 (everything works)  -> 2.375.2   

Thank you for your help.

Vladimir

-------------------------------
Jenkinsfile part:
    
    triggers{
        pollSCM('@hourly')
    }
        
       stage('Clean workspace'){
           
            steps{
                cleanWs deleteDirs: true, patterns: [[pattern: '**/.git/**', type: 'EXCLUDE']]
            }
        }


I guess the polling triggers the job and then the deletion is expected. 

Vladimir Zak

unread,
Jan 18, 2023, 3:02:11 AM1/18/23
to jenkins...@googlegroups.com
Hello,

It deletes the files even if the polling did not find any change and the job did not start. So the step Clean.... should not be executed (in current Jenkins it is like that).

Thank you.

Vladimir



st 18. 1. 2023 v 8:35 odesílatel 'Björn Pedersen' via Jenkins Users <jenkins...@googlegroups.com> napsal:
Reply all
Reply to author
Forward
0 new messages