Automate with CTO.ai Workflows
CTO.ai Workflows are the building blocks you need to build the Developer Experience that your team has always wanted. We provide these building blocks to you in the form of Commands, Pipelines, and Services, all of which allow you to build containerized automation processes that your team can use to manage your cloud application infrastructure interactively.
What is a Workflow?
A workflow—broadly speaking—is the sequence of steps that need to be taken to complete some specific goal; it’s the process you follow to get something done.
CTO.ai Workflows—Commands, Pipelines, and Services—allow you to build automated, containerized processes that cover every segment of your software delivery lifecycle. From simple interactive Commands that wrap the CLI of another tool, to complex multi-step, multi-cloud development processes that deliver your application updates to production, you can use our building blocks to automate the routine tasks that keep your infrastructure functioning smoothly.
Types of Workflows
We offer three types of Workflows: Commands, Pipelines, and Services. All three types of Workflows are defined by an ops.yml
configuration file, a Dockerfile
, and the custom code you write to define the process you want to automate.
The primary difference between the three types of Workflows is in how they are triggered and what type of work they are designed to accomplish:
Commands
Commands are your entrypoint to interactively managing your cloud-native applications, communicating with your cloud infrastructure, and orchestrating your runtime environment with the tools of your choice. With Commands, you can implement ChatOps workflows in your organization without first needing to configure additional infrastructure or APIs.
See the Commands section for more information.
Use Cases
You can build workflows using Commands that accomplish a broad range of tasks:
- Trigger interactive deployments from Slack to avoid manual errors and provide team-wide visibility.
- Make provisioning a new testing environment a self-serve process, from the comfort of Slack or CLI.
- Empower support staff to resolve common problems in a standardized way.
- Generate lightweight analytics reports that surface insights to stakeholders directly in Slack.
Pipelines
Pipelines provide the capabilities you expect from a composable CI/CD tool, allowing you to build deployment artifacts, run unit tests on changes pushed to your codebase, and automatically respond to activity in your git repository. Generally speaking, Pipelines are the foundation of your development lifecycle.
See the Pipelines section for more information.
Use Cases
Each Pipeline consists of one or more Jobs that are executed in sequence, and each Job comprises a series of steps that are run sequentially. Within a Job, you can run any number of steps that accomplish a specific task, such as:
- Lint and format your code for consistency.
- Run unit tests or any other kind of automated testing.
- Integrate codebases pulled from multiple repositories.
- Compile your application code into an executable artifact.
- Provision a runtime environment for your deployments.
Services
Services are long-running (but ephemeral) applications accessible at a uniquely-generated URL, allowing you to deploy applications to a lightweight container environment for sharing and feedback, or to serve internal tools to your team. These are your pre-configured deployment target for your Commands and Pipelines—and any long-running services that they depend on.
See the Services section for more information.
Use Cases
You might use Services to accomplish any number of goals:
- Host a static website.
- Build and preview the changes to an application on every push to a repo.
- Deploy an internal API to offload complex data processing logic from your application code.
- Run background processes that support the functionality of your Commands and Pipelines.