Introduction
DevOps is a combination of culture, principles and a set of practices that enables an organization or a team to deliver applications into the hands of the customer faster. A DevOps pipeline is an automated process that helps the teams to build, deploy and test their code into different environments and eventually release the software into production.
Jile helps the teams to define and manage an automated devops pipeline. A pipeline contains multiple stages, jobs and steps. Each stage provides increasing confidence about the quality of the product and faster feedback. Usually the first stage is where the source code gets compiled into an executable and moves through the later stages to be tested and validated. Stages in a pipeline can be executed in parallel.
During the early stages the binaries are deployed into development and testing environments where a set of automated tests are run to validate the product quality. This includes Unit, Integration, System Test and Non-functional tests like Performance and Security. During the later stages the quality assurance teams performs manual tests before certifying the product to be ready for production deployment.
Stages consist of multiple Jobs representing different activities like build, deploy or test. Jobs can be executed in parallel. Each Job contains one or more sequential steps which executes a specific task. Steps can be either automated or performed manually. A Step can either be configured as a script or can implement a specific tasks from a plugin. Jile provides a set of plugins for popular third party build, deploy and test tools.
Each stage can be configured to either start automatically or manually triggered based on the per-requisites. Stages can also have manual gates which helps the teams to define manual approvals before the stage can be executed. This is usually done in the higher regulated environments like staging and production.
Pipeline Functions
Pipeline
Pipeline Function helps the teams to manage the build and deployment pipeline for the product.