Recommendation for testing microservices

2/27/2020

I am pretty new in microservices world and would like to test, deploy my microservices with CI/CD tool. For CI, I am using Drone and CD Argo CD.
I have drawn the testing flow but not sure, if it is the right way or not.
enter image description here

As you can see on the picture, there are several steps involved until a microservice goes into production. The microservices run in a kubernetes cluster.
So let's start with the pipeline steps description:

  1. I commit changes to my Gitlab repo
  2. Gitlab triggers the Drone Pipline
  3. Then execute the following steps: unit test => build binary => build a docker image => push image to docker hub.
  4. The ArgoCD will fetch the created docker image from docker hub and deploy into K8s DEV environment. Then the integration test will run. My imagination about integration test is as follows: enter image description here

    A http client will run the test inside the K8s cluster. For testing inside the cluster, I going to use https://docs.drone.io/runner/kubernetes/overview/.

  5. After the integration test successfully processed, the app will deploy to QAC environment via ArgoCD. Next, the E2E test will be triggered outside the K8s cluster:

enter image description here

Here again, a http client will run the test.

I am not sure, if the steps that I've listed above is the right way to test microservices.

-- zero_coding
continuous-delivery
continuous-integration
drone
kubernetes
microservices

0 Answers