pipelinekt is a kotlin library that improves the Jenkinsfile development experience, especially for large projects.
- Remove several limitations imposed by the declarative syntax, for example:
- No longer need to statically define stages
- create stages in loops or by iterating over collections
- move any block of code into a separate function
- standard code sharing with actual classes
- no need to call
load
to dynamically interpret groovy scripts)
- no need to call
- No longer need to statically define stages
- IDE integration
- native kotlin + gradle - no custom groovy compiler
- Code completion
- Auto complete
- Configure sane defaults
- Shared steps before and after stages
- default pipeline configurations
- default
post
stage actions
- core - The base framework for the dsl
- internal - internal implementation for most dsl methods; not exposed to end users
- dsl - end user interface
- examples - code examples
Please see the quickstart guide
-
Fork on GitHub
-
Update minor or major as needed in [version.txt] per Semantic Versioning 2.0.0
-
Ensure all gradle tasks are successful
./gradlew build detek examples:build
-
Apply spotless before each commit
./gradlew spotlessApply
-
Create PR