Deployment Tools and Revision multiple environments

Hi,

Apigee tools such as maven plugins have option to update revision no. automatically on deployments; so this avoids conflict of revision for more than one environment. With management APIs we can deploy a proxy and then for that specific revision deploy it across environments. This can be integrated with CI and CD as well. However, we can also deploy the proxy and increment the revision using the management APIs. there is no recommended best way. Should on deployment to respective environment we increment revision or let one one revision be deployed on multiple environments. Having same revision deployed across multiple environments is it safe. If someone makes an update to one revision it may affect different environments in that case.

Which is suitable and how to choose please share some inputs.

thanks!

Solved Solved
0 5 298
1 ACCEPTED SOLUTION

Not applicable

Let me clarify more. If you have dev, test and prod in same organization, then mostly your dev revision will be the higher one than the test and prod.

If all are in the same revision, and you are doing any change, save that to new revision, instead of savings the change in same revision. In that case the other environments will not get impacted.

For example revision 2 is deployed in dev, test and prod.

Now you did some modifications, and saved that as revision 3 not saving as 2. Now you deploy revision 3 to dev. Your revision 2 will remain unaffected and still the test and prod will behave as they were.

View solution in original post

5 REPLIES 5

Not applicable

The option provided in Apigee to deploy one revision in multiple environments. You should do that. When ever there is a change and you don't want that for all environments, then just save the modified one in another revision and deploy the proxy in that environment, all other environments deployment will remain with the earlier revision.

thanks @Priyadarshi,

We have single edge organization if we follow this than that means same proxy revision could be pointing to dev,test,prod. A developer can then modify this revision and it can have impact on live.

Are there any specific drawbacks of having different revisions on different environments to avoid any conflict.

Also with many deployment tools and options such as maven deploy; apigeetool; managementapi etc. any specific preference when one should be used over other especially in CI/CD

Not applicable

Let me clarify more. If you have dev, test and prod in same organization, then mostly your dev revision will be the higher one than the test and prod.

If all are in the same revision, and you are doing any change, save that to new revision, instead of savings the change in same revision. In that case the other environments will not get impacted.

For example revision 2 is deployed in dev, test and prod.

Now you did some modifications, and saved that as revision 3 not saving as 2. Now you deploy revision 3 to dev. Your revision 2 will remain unaffected and still the test and prod will behave as they were.

thanks just to add..developer updates would be restricted to dev environment only so he will not be able to update a API revision deployed in dev as well environments other than dev

Then the developer can create the new revision and for testing they can contact who would have permission to deploy the new revision. Saving as a new revision will not impact the deployed revision in any environment. So, all will behave as earlier.