Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cbi-dev] CI and Jenkins pipeline best practices
  • From: Frederic Gurr <frederic.gurr@xxxxxxxxxxxxxxxxxxxxxx>
  • Date: Mon, 10 May 2021 12:25:49 +0200
  • Autocrypt: addr=frederic.gurr@xxxxxxxxxxxxxxxxxxxxxx; prefer-encrypt=mutual; keydata= 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 kr0KPtEgdm15rQ8tiPH8bKZLHQ5e/2Li
  • Delivered-to: cbi-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/cbi-dev/>
  • List-help: <mailto:cbi-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/cbi-dev>, <mailto:cbi-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/cbi-dev>, <mailto:cbi-dev-request@eclipse.org?subject=unsubscribe>
  • Organization: Eclipse Foundation
  • User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Hi,

To get the most out of your CI jobs, here is a refresher/reminder about
general CI and Jenkins pipeline specific best practices:

General CI best practices:
--------------------------

* *Keep builds and tests FAST!*
* Create robust tests, do not rely on best-case-scenario timeouts
* Always use job timeouts
* Disable concurrent builds
* Always use "poll scm" option, don't do plain periodical builds
* Keep your build history at a reasonable length
* Do not keep more than 5 builds with artifacts
* Clean out your old/deprecated build jobs regularly

See also https://wiki.eclipse.org/CI_best_practices

Jenkins pipeline best practices:
--------------------------------

* Use Jenkinsfiles (commit pipeline definitions to SCM)
* Use declarative pipelines, use scripted syntax only as last resort
* For complex pipelines, consider shared libraries

See also
https://www.cloudbees.com/blog/top-10-best-practices-jenkins-pipeline-plugin




You can find even more info about CI and Jenkins on our wiki page:
https://wiki.eclipse.org/Jenkins

If you have any questions, concerns or other best practices that should
be shared, please let us know.

Regards,

Fred


-- 
Frederic Gurr
Release Engineer | Eclipse Foundation Europe GmbH

Berliner Allee 47, D-64295 Darmstadt
Handelsregister: Darmstadt HRB 92821
Managing Directors: Gaƫl Blondelle, Mike Milinkovich


Back to the top