Everyone is doing CI/CD these days. If you attend any DevOps conference you’ll notice two things — 1.) Lots of teams claiming to do ten billion deployments a day and 2.) Lots of vendors claiming to help enable ten billion deployments a day.
Truth is, Continuous Delivery is misunderstood, and it’s very much a problem that remains unsolved for the masses.
“Bullsh!t, we’ve built our own CI/CD process/platform,” I hear you say, and hereby lies the problem — nearly everyone has tried to build it themselves.
The normal recipe is Jenkins plus several hundred thousand lines of BASH scripts (aka jobs). That’s a great way to make your production deployment…croak.

Continuous Integration != Continuous Delivery

Taking code to artifact (Continuous Integration) has largely been solved by Jenkins, and JFrog has been a pioneer and leader in how those artifacts are managed.
Despite lots of innovation in infrastructure automation technologies and frameworks like Ansible/Terraform, taking artifacts into production still remains a complex, manual and painful process if you build it with Jenkins or similar.
Deployment scripting is not automation. Why? Because deployment scripts change more frequently than Tesla’s stock price. This is not automation; it’s called software maintenance.
It’s also still not uncommon for deployment pipelines to be babysat by a team of DevOps engineers. Truly enabling developers to deploy and test on their own remains a massive challenge, both from a capability and governance perspective.

Continuous Delivery As-A-Service with Harness and JFrog

At Harness, we’re trying to solve Continuous Delivery by offering it as a turnkey service for DevOps and developers.
Harness will integrate with your cloud stack and tools in minutes–and then you can build dynamic deployment pipelines to promote artifacts across your environments.
In that journey, our JFrog story and integration has been critical. In fact, we recently supported one of the largest Artifactory implementations on the planet (> 1 PB). Below is a quick primer on how you can integrate JFrog into your deployment pipelines.

Configuring Artifactory with Harness

First thing you need to do is register your Artifactory instance(s) inside Harness.
To do this, goto: Setup > Connectors > Artifact Servers > Add Artifact Server
Now enter your artifactory URL, username and password.
Optional: you can also place usage restrictions on your Artifactory servers. E.g. Artifactory A can only be used for Application X and Environment D, E and F.

Creating Apps/Services Based on Artifactory Artifacts

With Artifactory now integrated you can start to define your application and service hierarchy in Harness.
Let’s create a simple microservice using Artifactory.
Goto: Setup > Your App > Services > Add Service
Give your service a name and select ‘Docker’ as the artifact type.
Now, click ‘Add Artifact Source

Now point Harness to your Artifactory Server, Repository and Image Name:

That’s it — Harness will now automatically version control every new artifact build or version from your Artifactory instance:

Building Your First Deployment Pipeline (with Xray)

With your service artifacts now defined inside Harness, you can build deployment workflows and pipelines in minutes.
Goto: Setup > Your Application > Workflows > Create Workflow
For example, we can build a 3-phase canary deployment workflow to deploy our new microservice that starts with a JFrog Xray security scan on the container artifact:
To integrate JFrog Xray simply click ‘Add Step’ under the ‘Pre-deployment Steps’ section. Choose ‘HTTP’ and create a webhook to Xray that references the ${artifact.displayName} and ${artifact.artifactPath} within your workflow. That’s it!
When this deployment workflow (or pipeline) is kicked off, you can watch all these deployment steps execute in real time, with full insight into console output and logs.
With JFrog and Harness, it’s now possible to create end-to-end deployment pipelines in minutes using your artifact repository as the source/trigger.
For more information and a free trial, visit www.staging-devharnessio.kinsta.cloud.