APIGEE CI/CD pipeline

Hi Everyone,

Currently I am setting a CI/CD pipeline with APIGEE. I did all the activities and my pipeline is running fine but i have a scenario where i would like to understand what i can do to proceed further. The scenario is like: We are deploying the API Proxy in PROD environment via CI/CD Pipeline at 3 AM on weekend and post deployment step, we have JMeter functional test step, where we are executing the functional test cases. These test cases run and will check for success rate of test cases which should be more than 80% or else it will revert the Proxy to the last stable version.

Now if Backend server is not up or down due maintainenace/upgrade, then our JMeter success rate sees a dip, as there will not be response from backend and hence pipeline will think that as JMeter cases are having less success rate, so it will revert the API Proxy back to previous stable version. So can someone please guide me what tools/approach i can take in order to combat this.

Regards

Pratyush

Solved Solved
0 2 1,169
1 ACCEPTED SOLUTION

Few things I am curious about -

1) When the pipeline checks the overall test results and find them non-satisfactory it performs the rollback (which is correct). After the stable version is up, does it run the tests again? If the backend is down, the stable Apigee revision tests will fail again right? What happens then?

2) Since this is production, I am certain there should be some monitoring or checks done periodically on your backend which is supported by Operations team. Wouldn't they be notified when the backend is down?

Few options I can think you could do are:

1) Is it possible to test the backend API in your prod pipeline and see if its up and running before triggering the Apigee proxy build? If yes, then you can stop the build right after knowing the backend is not up.

2) The other approach is inspect the response from the backend. If they are not up, you should see a lot of 5xx in your results, with which you can determine its a backend issue rather than Apigee (not always but often) and then notify Ops and not perform the rollback as its not Apigee related

View solution in original post

2 REPLIES 2

Not applicable

You can Jenkins pipeline which will be integrated to git.

Then inside git you can place Apigee tool and required scripts.

Using Jenkins you will clone the repo to local and using scripts and commands you can do the deployment of proxy bundle, then test and if required revert back to the previous revision.

Few things I am curious about -

1) When the pipeline checks the overall test results and find them non-satisfactory it performs the rollback (which is correct). After the stable version is up, does it run the tests again? If the backend is down, the stable Apigee revision tests will fail again right? What happens then?

2) Since this is production, I am certain there should be some monitoring or checks done periodically on your backend which is supported by Operations team. Wouldn't they be notified when the backend is down?

Few options I can think you could do are:

1) Is it possible to test the backend API in your prod pipeline and see if its up and running before triggering the Apigee proxy build? If yes, then you can stop the build right after knowing the backend is not up.

2) The other approach is inspect the response from the backend. If they are not up, you should see a lot of 5xx in your results, with which you can determine its a backend issue rather than Apigee (not always but often) and then notify Ops and not perform the rollback as its not Apigee related