Pipeline Workflow

The below architecture diagram depicts the end-to-end flow of a Catalyst Pipeline.

workflow-diagram

Trigger the Pipeline

When creating a Catalyst pipeline, you can choose to integrate your pipeline with any of the supported version control systems (i.e., GitHub, GitLab or Bitbucket). This integration determines the mode of trigger for your pipeline :

  • Automatic Pipeline Trigger : The pipeline will be automatically triggered everytime you push any code changes to the linked repository in the integrated version control system. When the pipeline is triggered, the complete source code from the integrated Git repository, along with the YAML file, will be automatically fetched and downloaded as a ZIP file to Catalyst.

  • Manual Pipeline Trigger : You can manually trigger the pipeline from the Catalyst console. This is suitable for one-time tasks that do not require integration with the version control system.

In both the above-mentioned cases, upon triggering the pipeline, the pipeline workflow coded in the catalyst-pipelines.yaml file will be executed.

Refer to this section to learn in detail about Catalyst pipeline triggers and its implementation.

Execute the Pipeline

On trigger, the pipeline will be executed sequentially, one stage after another. The commonly achieved goals of executing a pipeline include the following:

Build

You can configure the pipeline to build applications of any scale using the Catalyst Pipelines service. Here’s a few examples of commonly built applications:

  • Web Applications : You can build web applications developed with frameworks including ASP.NET, Node.js, Django, Flask or more.

  • Mobile Applications : Build mobile apps for platforms like iOS, Android, or Windows using frameworks like Xamarin, React Native, or Flutter.

  • API services : Build RESTful APIs or micro services using frameworks including Express.js, ASP.NET Web API, Spring Boot or more.

  • Serverless Applications : You can build serverless applications using Catalyst Serverless Functions, Azure Functions, AWS Lambda, or Google Cloud Functions.

  • Containerized Applications : Build containerized applications using Docker, Kubernetes, or other container orchestration tools.

There are vast options of applications that can be built automatically using the Catalyst Pipelines service. You will need to configure the steps component in the pipeline with the specific commands to be executed in order to build the application efficiently.

Test

Once the application is built automatically, you can proceed to test it before deploying it to any environment. Similar to the build process, you can specify the required commands to test the application in the catalyst-pipelines.yaml file. Here’s a list of common tests that can be executed in the pipeline:

  • Unit Tests: Running unit tests for individual components or modules of the application to ensure they function correctly in isolation.

  • Integration Tests: Performing integration tests to verify interactions between various components or modules of the application.

  • API Tests: Testing the functionality, performance, and security of APIs used by the application, including both manual and automated API tests.

  • Regression Tests: Running regression tests to ensure that recent code changes have not introduced new bugs or regressions into the application.

Deploy

You can deploy your application in any environment, such as development, staging, or production, based on your specific needs. Here’s a list of common deployment targets:

  • Platform as a Service (PaaS): Platforms like Catalyst AppSail, Heroku, or Google App Engine provide a managed environment for deploying web applications without needing to manage the underlying infrastructure. Developers can focus on writing code without worrying about server management.

  • Containerization: Using containerization technologies like Docker to package the web application along with its dependencies into containers. These containers can then be deployed consistently across different environments, providing portability and scalability.

  • Container Orchestration: Tools like Kubernetes enable automated deployment, scaling, and management of containerized applications. Kubernetes helps in deploying and managing containers at scale, providing features like load balancing and automatic scaling.

We will be discussing the common deployment targets and the step-by-step instructions to configure the pipeline in this help page.

Last Updated 2025-06-03 18:19:55 +0530 IST