This page applies to Apigee and Apigee hybrid.
View Apigee Edge documentation.
When you make a change to an API proxy, you can save it as a new revision and deploy it to your cluster.
About deployment
The deployment lifecycle of an API proxy revision on Apigee is shown in the following figure.
API proxy revisions limitations
The following limitations apply to API proxy revisions:
- If you make any changes to an API proxy, you must deploy it as a new revision.
- After you deploy an API proxy, the revision is read-only. You cannot change an API proxy revision (such as to make incremental changes); the only way to change a revision is to create a new revision and deploy it.
- MPs can deploy a proxy bundle only in its entirety. If you make changes to individual fragments or policies, the MPs will still deploy the entire proxy bundle.
- If your Apigee usage distinguishes between
Standard and Extensible proxies,
when deploying a revision that changes an API proxy from a Standard proxy to an Extensible proxy:
- a cost might be incurred. If you are a Pay-as-you-go (updated attributes) customer, see the Pay-as-you-go entitlements. If you are a Subscription customer, see your plan's details.
- the deployment requires additional time. During the deployment window the API call flow is not disrupted but you can't deploy, undeploy, or delete the proxy. Also, current or new revisions cannot be deleted during the deployment window. Changes to the API proxy and new revision creation are allowed.
Zero-downtime deployment
All successful API proxy deployments to Apigee, are zero-downtime deployments. API proxy deployments happen in this order:
- Revision 1 of the API proxy
/hello
is deployed and handling traffic. - Revision 2 of
/hello
is deployed. - Revision 2 is deployed to the Message Processors in the runtime plane.
- Revision 1 is undeployed.
The API proxy revision deployment is now complete with no downtime.
Viewing deployment status
Deploying an API proxy on Apigee does not make it immediately available. It takes time for the API proxy to be synchronized across all MPs in the runtime plane. However, Apigee provides tools that can give you some information about the status of your API proxy revisions.
Apigee UI
Within the Apigee UI, there are several views that provide the deployment status of your API proxies.
Apigee UI View | Steps & Description |
---|---|
Proxies |
The Apigee UI uses the following icons to give a quick status for each API proxy: Indicates that the
API proxy has not been deployed to the selected environment. To view the status icon, click the Develop tab. Alternatively, you can select Develop > API Proxies and click an API proxy |
Apigee API
To view the deployment status of your API proxy revision in an environment, use the following API call:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Where $TOKEN
is set to your OAuth 2.0 access token, as described in
Obtaining an OAuth 2.0 access token. For information about the curl
options used in this example, see
Using curl. For a description of the environment variables used,
see Setting environment variables for Apigee API requests.
The following provides an example of the response. This examples shows deployment status for revision 1
of the helloworld
API proxy
that is deployed in the test
environment:
{ "environment": "test", "apiProxy": "helloworld", "revision": "1", "deployStartTime": "1559149080457", "pods": [ { "podName": "apigee-runtime-myorg-test-f8bdf9d-2s72w", "deploymentStatus": "deployed", "statusCodeDetails": "Deployment Success", "podStatus": "active", "podStatusTime": "1595357668001" } ], "state": "READY" }
For more information, see the API proxy revision environment deployments API.
gcloud
To view the deployment status of your API proxy revision in an environment, use the following gcloud command:
gcloud alpha apigee deployments describe --api=$API --environment=$ENV
For more information and a description of the environment variables used in the examples, see Getting started using gcloud with Apigee.
The following provides an example of the response. This examples shows deployment status for revision 1
of the helloworld
API proxy
that is deployed in the test
environment:
Using Apigee organization `my-org` Using deployed revision `1` apiProxy: helloworld deployStartTime: '1598032332802' environment: test pods: - deploymentStatus: deployed podName: apigee-runtime-myorg-test-f8bdf9d-2s72w podStatus: active podStatusTime: '1598302128087' statusCodeDetails: Deployment Success revision: '1' state: READY
For more information, see Describe deployments CLI.
Next steps
Learn how to deploy:
|
Learn how to undeploy:
|