It is a text file which defines a Jenkins Pipeline.โ
The Jenkinsfile can be committed to a projectโs source control repository.
This is the foundation of "Pipeline-as-code";
Treating the CD pipeline a part of the application to be versioned and reviewed like any other code.๐จโ๐ป
๐๐ซ๐๐๐ญ๐ข๐ง๐ ๐ ๐๐๐ง๐ค๐ข๐ง๐ฌ๐๐ข๐ฅ๐ ๐๐ง๐ ๐๐จ๐ฆ๐ฆ๐ข๐ญ๐ญ๐ข๐ง๐ ๐ข๐ญ ๐ญ๐จ ๐ฌ๐จ๐ฎ๐ซ๐๐ ๐๐จ๐ง๐ญ๐ซ๐จ๐ฅ ๐ฉ๐ซ๐จ๐ฏ๐ข๐๐๐ฌ ๐ ๐ง๐ฎ๐ฆ๐๐๐ซ ๐จ๐ ๐ข๐ฆ๐ฆ๐๐๐ข๐๐ญ๐ ๐๐๐ง๐๐๐ข๐ญ๐ฌ:๐
โAutomatically creates a Pipeline build process for all branches and pull requests.
โCode review/iteration on the Pipeline (along with the remaining source code).
โAudit trail for the Pipeline.
โSingle source of truth for the Pipeline, which can be viewed and edited by multiple members of the project.
While the syntax for defining a Pipeline, either in the web UI or with a Jenkinsfile is the same,
it is generally considered best practiceโ to define the Pipeline in a Jenkinsfile and check that in to source control.
๐๐๐ซ๐ ๐ข๐ฌ ๐๐ง ๐๐ฑ๐๐ฆ๐ฉ๐ฅ๐ ๐จ๐ ๐ ๐๐๐ง๐ค๐ข๐ง๐ฌ๐๐ข๐ฅ๐ ๐ฎ๐ฌ๐ข๐ง๐ ๐๐๐๐ฅ๐๐ซ๐๐ญ๐ข๐ฏ๐ ๐๐ข๐ฉ๐๐ฅ๐ข๐ง๐ ๐ฌ๐ฒ๐ง๐ญ๐๐ฑ:
๐๐๐