Jenkins: Difference between revisions

From miki
Jump to navigation Jump to search
(Created page with "== Tips == === Cancel older builds if new one starting === Using <code>milestone</code>, we can cancel older builds if a new commit is pushed. Here an example where all new b...")
 
Line 17: Line 17:
}
}
</source>
</source>

=== Use 'Pipeline Syntax' to write Groovy script ===
Jenkins offers a button <code>Pipeline Syntax</code> to generate Groovy scripts.
Very useful for adding new commands.

Revision as of 15:41, 27 January 2021

Tips

Cancel older builds if new one starting

Using milestone, we can cancel older builds if a new commit is pushed.

Here an example where all new build cancels the older ones, except on the master branch. This is useful to increase throughput of Jenkins slaves. This policy makes sense since non-master branches typically do not require thorough testing/analysis.

    stage('UTs')
    {
        // if not on master and older builds are ongoing, cancel them !
        if ( env.BRANCH_NAME != 'master' )
        {
            def buildNumber = env.BUILD_NUMBER as int
            if (buildNumber > 1) milestone(buildNumber - 1)
            milestone(buildNumber)
        }
        // ...
    }

Use 'Pipeline Syntax' to write Groovy script

Jenkins offers a button Pipeline Syntax to generate Groovy scripts. Very useful for adding new commands.