Managing apigee proxy version in source control

Hi,what is the best practice to version control / git apigee proxy revisions , so that I have all the revisions on source control and not only the latest revision.

I would like to choose my revision while deployment from the version control.

Solved Solved
1 4 1,341
1 ACCEPTED SOLUTION

scenario 1 : we have 5 revisions in edge , should we always save the latest version to git or we have want to keep all 5 revisions on any source control repo eg. GIT, how should we do it?

As a best practice, we should keep all the revisions in an SCM like Git. Apigee will not save the revision and if you delete them, there is no way you can get them back.

scenario 2 : if we trigger deployment from JENKINS , will it create a new revision in apigee or it will just update the last revision in apigee which is revision 5

We generally use Apigee Maven Plugin to deploy Proxies through Jenkins/CICD pipeline. Within the plugin, we have options to control this behavior.

override option - it will always deploy a new revision

update option - it will deploy to the current revision (internally it will un deploy current revision)

View solution in original post

4 REPLIES 4

That is up to you. I suppose you could create distinct branches in your source control system for tracking different revisions (releases?) of the API proxy code. That would be one obvious way to do it.

The same way you would use distinct named branches for distinct releases of any software package.

eg

branch purpose
master tracks forward development
201901 Release from January 2019
201903 Release from March 2019
... etc.

If you're using git, then you can read up on branches here.

Hi Dino

my question is slightly different, I want to know the best practice of managing api proxy revisions (one which shows up in edge ) and not the releases.

For eg:

scenario 1 : we have 5 revisions in edge , should we always save the latest version to git or we have want to keep all 5 revisions on any source control repo eg. GIT, how should we do it?

scenario 2 : if we trigger deployment from JENKINS , will it create a new revision in apigee or it will just update the last revision in apigee which is revision 5

scenario 1 : we have 5 revisions in edge , should we always save the latest version to git or we have want to keep all 5 revisions on any source control repo eg. GIT, how should we do it?

As a best practice, we should keep all the revisions in an SCM like Git. Apigee will not save the revision and if you delete them, there is no way you can get them back.

scenario 2 : if we trigger deployment from JENKINS , will it create a new revision in apigee or it will just update the last revision in apigee which is revision 5

We generally use Apigee Maven Plugin to deploy Proxies through Jenkins/CICD pipeline. Within the plugin, we have options to control this behavior.

override option - it will always deploy a new revision

update option - it will deploy to the current revision (internally it will un deploy current revision)

Thanks, it explains .