In Harness, we are basically using Canary type deployments. We have applications, web applications, and web servers. Whenever we get the WAR file with 50 servers in a load balancer, Harness will deploy on the first server by automatically taking it out from the load balancer, deploying the latest JAR file, testing it at the back end, and giving us the result. Then our developer will test it from their end, and if both results are satisfying, they will run the test cases.
If both results are satisfying, then we proceed with the first half. The first server that is deployed will move back to the load balancer, and servers two through twenty-five will come out of it, deploy, test, and go back. It is all automatic. We just need to click proceed. Everything in Harness is configured and runs smoothly.
For CI/CD automation, I am using Harness only for continuous delivery, not the CI part. Harness takes care of maintaining compliance with security measures. We have dedicated IAM in AWS, with secrets and access. Harness itself will be in our private network, and we have dedicated user ID and credentials for each user.
For deployment, we are using Git for different projects. Through Git Bash, whatever changes we make locally, we push them to our Bitbucket. We have configured Git with the Bitbucket repository, and through Bitbucket, we try to merge everything. Once merged, the Jenkins pipeline gets triggered automatically. We check the Jenkins pipeline output to see whether the application is deployed successfully. We are also using Jenkins with Harness.