How do i move my apigee edge proxy's to various environments like SIT,UAT and PROD?

Not applicable

How do i move my apigee edge proxy's to various environments like SIT,UAT and PROD?

Solved Solved
1 2 903
1 ACCEPTED SOLUTION

Hi @Umasankar Gnanasekaran welcome to Apigee Community!

There are a couple of elements to answer your question:

1) API Proxy Deployment

Your API Proxies can be deployed to multiple environments within your organization. Deploying an API Proxy means making it active in that environment. Here is a detailed explanation of deployment. You can do deployment in three ways, click the links below to get detailed info on each:

2) Customizing your Proxies for Specific Environments

It's very common to want to have the same proxy run in multiple environments but to have various elements of the proxy be different, for example maybe different quota or spike arrest limits, or different targets, etc. You can do that manually via the Apigee Edge Proxy Editor and having different revisions of the same proxy, putting your environment specific settings into those different revisions and then making sure you only ever deploy the specific revision to a specific environment. While that might work to get you started, that is not ideal because it can quickly become confusing and also requires multiple updates for example if you decide to add a new policy because now you would need to update multiple revisions, one for each environment you deploy to.

This is where something like the Apigee deploy maven plugin can come in very handy. There is a lot of detail available on how to use the plugin at that link. The main concept I want to share here is the usage of config.json. When you adopt this approach, you maintain your API Proxy code in a repo outside of Apigee Edge. You create placeholders for values in your proxies that need to be different in different environments and then provide the environment specific values in config.json. Then you use maven to do the deployment and it replaces the placeholders with the matching values from config.json and deploys your proxy to your chosen environment in Apigee Edge.

There are a lot of relevant questions and answers on using this maven plugin in the community, here's a link to a community search so you can read further on this topic.

If this has answered your question, please click the Accept link below; alternatively let us know how we can provide more information to better answer your question.

View solution in original post

2 REPLIES 2

Hi @Umasankar Gnanasekaran welcome to Apigee Community!

There are a couple of elements to answer your question:

1) API Proxy Deployment

Your API Proxies can be deployed to multiple environments within your organization. Deploying an API Proxy means making it active in that environment. Here is a detailed explanation of deployment. You can do deployment in three ways, click the links below to get detailed info on each:

2) Customizing your Proxies for Specific Environments

It's very common to want to have the same proxy run in multiple environments but to have various elements of the proxy be different, for example maybe different quota or spike arrest limits, or different targets, etc. You can do that manually via the Apigee Edge Proxy Editor and having different revisions of the same proxy, putting your environment specific settings into those different revisions and then making sure you only ever deploy the specific revision to a specific environment. While that might work to get you started, that is not ideal because it can quickly become confusing and also requires multiple updates for example if you decide to add a new policy because now you would need to update multiple revisions, one for each environment you deploy to.

This is where something like the Apigee deploy maven plugin can come in very handy. There is a lot of detail available on how to use the plugin at that link. The main concept I want to share here is the usage of config.json. When you adopt this approach, you maintain your API Proxy code in a repo outside of Apigee Edge. You create placeholders for values in your proxies that need to be different in different environments and then provide the environment specific values in config.json. Then you use maven to do the deployment and it replaces the placeholders with the matching values from config.json and deploys your proxy to your chosen environment in Apigee Edge.

There are a lot of relevant questions and answers on using this maven plugin in the community, here's a link to a community search so you can read further on this topic.

If this has answered your question, please click the Accept link below; alternatively let us know how we can provide more information to better answer your question.

Not applicable

thank you so much for your detailed answer.