Spline is a tool where you can define stages and tasks for a pipeline via a yaml definition file. The tool help you to use Bash and Docker more easily and also also allow you to reduce pipeline code. The matrix capability also allow you to test different version of an interpreter, compiler or database. In addition you can use Jinja2 templating for your scripts. The documentation provides all details.
One motivation for the tool is to be more independent from environments like Jenkins or Travis CI but still allowing to run your spline based pipeline in both environments.
Spline currently supports Python 2.7.x, 3.3x, 3.4.x, 3.5.x and 3.6.x. The tool is checked via Travis CI and some integrations as mandatory checks on each pull request.
spline alternatives and similar packages
Based on the "Command-line Tools" category
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of spline or a related project?
Welcome to spline - the pipeline tool
Table Of Content:
How to contact?
- Python support for 2.7.x, 3.4.x, 3.5.x, 3.6.x, PyPy and PyPy3
- automatic schema validation for yaml file
- matrix based pipeline with tags
- ordered and parallel pipelines (matrix)
- ordered and parallel tasks execution
- pipeline stages (named groups)
- shell script execution: inline and file
- environment variables merged across each level: matrix, pipeline, stage, and tasks
- support for model data (a dictionary of anything you need)
- cleanup hook
- filtered execution via tags
- supporting Jinja templating in Bash scripts (also nested inside model)
- support for Docker containers and Docker images
- support for the Packer tool
- execution time on each level: pipeline, stage, tasks and shell (event logging)
- documentation here and also at read the docs
- usable by Jenkinsfile as well as by a
.travis.yml(or other pipelines).
- dry run and debug support
- support for Python scripts
- support for task variables
- support for conditional tasks
- enabled for code reuse: !include statement
How to contact?
*Note that all licence references and agreements mentioned in the spline README section above are relevant to that project's source code only.