apigee best practices

rohitmonga
Participant II

Can anyone guide me for best practices to follow for apigee development. As of now we are doing version control only for api proxies and not for environment variables, caches, target servers etc. Someone need to manually do for each environment setup.

Is there any best practice using which we don't need to have any manual step required for complete deployment of api proxies, product, app, env. variables etc. Issue is whenever we need to deploy apigee proxy to other environments we need to have those manual steps to be followed.

Is there any way we can automate all this and are there any best practices for this.

0 2 376
2 REPLIES 2

It is possible to automate the configuration deployment using the apigee-maven-config plugin.

It supports both single-file config and multi-file config options.

Multi-file is more organized and easier to edit compared to the single-file structure.

You should take into consideration - one-time configurations and the changing ones and decide which of the components can be automated and which cannot be.

For instance: Each time you update a Devapp , a new set of key/secret is generated.

If you have API proxies bound to product, the Product creation will fail if the proxies are not yet deployed. So it may happen that you need to run Config pipeline->Proxy Pipeline->Config Pipeline(2nd time) to create the products.

The apigee-maven-config plugin maven config plugin takes care of all of the phases in the correct order such that you can "update" (create or update) all of the artifacts and even download the new keys to be used in integration tests. That way you don't have to maintain keys in your source repository.

We know its a pain to constantly create new keys (current limitation in the plugin) but you can workaround it by not updating the Apps unless they change. See this related answer: https://community.apigee.com/questions/70453/separating-proxy-and-config-deployment-using-maven.html...

Hope that helps and thanks for reaching out to the community!