Step 8: Promote an archive to production

This page applies to Apigee and Apigee hybrid.

View Apigee Edge documentation.

In this step, you'll promote an archive of your API proxy configuration to a production environment in your Apigee organization.

  1. Follow the steps in Create an environment to perform the following:
    1. Create a new prod environment in your Apigee organization, enabling Archive as the deployment type. Use the UI or API.
    2. Attach the environment to a runtime instance using the Instances attachment API.

      This command triggers a long-running operation. Ensure that the environment has been attached to the runtime before continuing.

    3. Create an environment group if you do not already have one using the Create environment groups API.

      Ensure that the environment group has been created before continuing. You can check the status of your new group using a request like the following:

      curl -i -H "$AUTH" -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/ENVIRONMENT_NAME"
    4. Attach the new environment to the environment group using the Environment group attachment API.

      Attaching an environment to the group makes the proxies in that environment routable via the hostnames in the group. This triggers a long-running operation that can take several minutes to complete. We recommend that you wait a minute or two before continuing to the next step. In the meantime you can check the status of the operation as before.

  2. Create a new prod environment in your local development environment:
    1. In Apigee in VS Code, position your cursor over the environments folder in the Apigee section and click Create icon.

      + displays when you position the cursor over environments folder

      The Create environment wizard opens.

    2. Enter prod for the environment name and press Enter.

      The environment is created.

    3. Expand the prod environment folder in the Apigee section to view its contents.
    4. Position your cursor over the deployments.json file in the Apigee section and click Configure icon.

      The Deployments wizard opens.

    5. Select the helloworld API proxy to add it to the deployment and click OK.

      The deployments.json file is opened in the editor. The file has been updated to include the helloworld API proxy in the proxies deployment array, as shown below:

      { "proxies": [ "helloworld" ], "sharedflows": [] }
  3. Deploy an archive of your API proxy configuration to the prod environment in your Apigee organization.
    1. In the Terminal tab in Apigee VS Code, navigate to the myapigeeworkspace directory.
      cd myapigeeworkspace
    2. Run the following command:
      gcloud beta apigee archives deploy --environment=prod --labels=release=052021.1

      The following provides an example of the response:

      Using Apigee organization dev Waiting for operation [$OPERATION_ID] to complete...⠹
    3. Run the following command to check the status of the operation, replacing $OPERATION_ID with the operation ID returned in the previous call:
      gcloud beta apigee operations describe $OPERATION_ID

      The following provides an example of the response. Note that state is set to IN_PROGRESS.

      Using Apigee organization 'prod' done: true metadata: '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata operationType: INSERT state: IN_PROGRESS targetResourceName: uri name: organizations/prod/operations/$OPERATION_ID organization: prod response: '@type': type.googleapis.com/google.cloud.apigee.v1.CanaryEvaluation control: 1-5-0-20210319-071117-ghq74 endTime: '2021-03-20T06:15:44.329363950Z' metricLabels: env: test location: us-central1 name: uri startTime: '2021-03-20T06:14:44.306534584Z' treatment: 1-5-0-20210319-190954-if0wk verdict: NONE uuid: $OPERATION_ID
    4. Repeat the previous step until state is set to FINISHED indicating that the archive depoloyment is complete.
    5. Run the following command to view all archive deployments in the prod environment:
      gcloud beta apigee archives list --environment=prod

      The following provides an example of the response:

      Using Apigee organization 'prod' ARCHIVE ID ENVIRONMENT DEPLOYED AT LABELS OPERATION STATUS vrytwbhso558oil53m prod 2021-04-20 21:20:53 release=052021.1 Deployed

Congratulations! You've successfully promoted your API archive to an Apigee production environment!