apigeeDeploy

This operation deploys an Apigee API proxy or Shared flow to Apigee by using the maven apigee deploy plugin. You must have built artifacts as zip file or expanded folder, see Extract and Save Artifacts workflow on FlexDeploy - Apigee Plugin Guide page under Example Workflows. See Special Considerations below for details on folder structure. You can download zip file from Apigee and commit to SCM for use during build, or you can commit zip file in expanded format.

The plugin unzips any zipped file within the artifacts and will search for the API proxy or Shared flow folder and deploy it to Apigee. This operation automatically generates a pom.xml and parent-pom.xml necessary to use with Maven for deployment. If it is already present, it will be replaced. The new pom contains property replacement tokens in many places. Passwords and other values will not be stored in the file.

If a config.json file is present in the folder it will be processed. The FDAGP_ENV variable holds the environment that will be used when making replacements.

Either FDAPG_CLOUD_ACCOUNT_CODE environment instance property value or FDAPG_INP_CLOUD_ACCOUNT_CODE plugin input value should exist. When both exists, plugin input value will take precedence. See Creating/Editing a Cloud Account and Provider for details on how to setup Cloud Account for Apigee.

Environment/Instance Properties

Property NameProperty CodeRequiredDescription
Apigee Environment NameFDAGP_ENVYesThe environment name which the proxy or shared flow will be deployed to.
Apigee Deploy OptionFDAPG_DEPLOY_OPTIONYesThe option to indicate how proxy or shared flow revision will be managed during deployment.
Apigee AccountFDAPG_CLOUD_ACCOUNT_CODENoThe Apigee account with all the required properties for running Apigee Instance.

Project Properties

Property NameProperty CodeRequiredDescription
Apigee Proxy/Shared Flow NameFDAPG_NAMEYesThe name of the proxy or shared flow that will be deployed. This property is defaulted to the project name. This property is case sensitive and must be the exact same as the name of the API Proxy on Apigee.
API TypeFDAPG_API_TYPEYesThe type of the API, either API Proxy or Shared Flow.

Cloud Account Properties

Property NameProperty CodeRequiredDescription
Apigee Org NameFDAPGACCT_ORGYesThe org name of the apigee account.
Apigee Host URLFDAPGACCT_HOST_URLYesApigee Host URL.
Apigee Authentication TypeFDAPGACCT_AUTHTYPEYesApigee Authentication Type
Apigee UsernameFDAPGACCT_USERYesThe username of the apigee account.
Apigee PasswordFDAPGACCT_PASSWORDYesThe password of the apigee account.
Apigee Token URLFDAPGACCT_TOKEN_URLNoApigee Token URL.
Apigee MFA TokenFDAPGACCT_MFA_TOKENNoApigee Multi Factor Authentication token
Apigee BearerFDAPGACCT_BEARERNoApigee Bearer
Apigee RefreshFDAPGACCT_REFRESHNoApigee Refresh
Apigee Client IdFDAPGACCT_CLIENT_IDNoApigee Client Id
Apigee Client Secret KeyFDAPGACCT_CLIENT_SECRETNoApigee Client Secret Key

Inputs

Input NameInput CodeRequiredDescription
Apigee AccountFDAPG_INP_CLOUD_ACCOUNT_CODENoThe Apigee account with all the required properties for running Apigee Instance.
Additional Deploy ArgumentsFDAPG_MVN_ARGSNoSpace-delimited list of additional Maven arguments (e.g. -e -X).

Outputs

Output NameDescription


Artifacts 

This operation consumes artifacts from the artifacts repository.

Endpoint Selection 

This operation does not require any specific external libraries or tools, hence you can add any endpoint to environment/instance configuration. We recommend use of LOCALHOST endpoint for simplicity. This operation will select all  endpoints associated to the environment/instance.

Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.

Special Considerations

The artifacts folder must contain an Apigee bundle that has a maven compatible file structure. Below you can see the recommended folder structure for the project if it is an API proxy. 

API Proxy Folder Structure
      |-gateway/ ***
        |-test-app/
          |-apiproxy/
            |-proxies
            |-resources/
              |-py
            |-policies
            |-targets

Below you can see the recommended folder structure for the project if it is a shared flow. 

Shared Flow Folder Structure
	  |-gateway/ ***
        |-test-app/
          |-apiproxy/
            |-proxies
            |-resources/
              |-py
            |-policies
            |-targets