An Harness Application represents a group of microservices, their deployment pipelines, and all the building blocks for those pipelines. Harness represents your microservice using a logical group of one or more entities: Services, Environments, Workflows, Pipelines, Triggers, and Infrastructure Provisioners. Applications organize all of the entities and configurations in Harness CI/CD.
The following diagram displays how an Application organizes Services, Workflows, and Environments into components that can be selected and deployed using Pipelines (although you can deploy a workflow by itself, also). The Artifact Servers and Cloud Providers you connect to your Harness account are used to obtain your microservices/applications and deploy them to your deployment environments.
Keep this diagram in mind when setting up your Harness Application.
Before You Begin
Create an Application
The following procedure creates a new application. Once you are done, you can add entities to the application, such as services and environments.
To create an application, do the following:
- Click Setup, and then click Add Application. The Application dialog appears.
- Enter the name for your application, and click SUBMIT. Your new application appears.
- Follow the steps in this checklist to add entities to your application:
Add your microservices, including their artifact sources, container types, configuration variables, and YAML files.
Add deployment environments for the services in your application. These environments will be deployed on the cloud providers you added as a connector.
Add workflows to manage the stages of service deployments. Workflows define how a service is deployed, verified, and rolled back, among other important phases. There are many different types or workflows, from Basic to Canary, and Blue/Green.
Add a pipeline to define the workflows used in deployment and verification. A pipeline is a collection of one or more stages, containing workflows for one or more services and other deployment and verification steps.
Add a trigger to define when a workflow or pipeline is executed. A trigger can execute a workflow or pipeline based on many conditions, such as when a new artifact is added to an artifact server, on a time schedule, according to Webhook event, and more. Triggers are how you automate deployment.
Add an infrastructure provisioner such as CloudFormation or Terraform as a blueprint for the system, networking, and security infrastructure for the service deployment.