A 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 components 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.
- Click your Application’s name. The Application appears.
- Follow the steps in this checklist to add entities to your application:
Services represent your microservices/apps. You define where the artifacts for those microservices come from, and the container specs, configuration variables, and files for those microservices.
Add your microservices, including their artifact sources, container types, configuration variables, and YAML files.
Environments represent one or more of your deployment infrastructures, such as Dev, QA, Stage, Production, etc.
Add deployment Environments for the Services in your application. These Environments will be deployed on the cloud providers you added as a connector.
Workflows define how a Service is deployed, verified, and rolled back, among other important phases. There are many different types of Workflows, from Basic to Canary and Blue/Green.
Add Workflows to manage the stages of Service deployments.
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 Pipeline to define the workflows used in deployment and verification.
Triggers automate deployments using a variety of conditions, such as Git events, new artifacts, schedules, and the success of other pipelines.
Add a Trigger to define when a Workflow or Pipeline is executed.
Infrastructure Provisioners define blueprints from known Infrastructure-as-Code technologies (Terraform, Cloud Formation, etc) and map the output (such as load balancers, VPCs, etc). They enable Workflows to provision infrastructure on the fly when deploying Services.
Add an Infrastructure Provisioner such as CloudFormation or Terraform as a blueprint for the system, networking, and security infrastructure for the Service deployment.