deployAPEX

Deploys an Oracle APEX application (produced by a build workflow using the buildAPEX plugin operation) to a target database. This operation manages deployment of builds produced by both the Full Deployment and Partial Deployment models. 

Any supporting database objects for the application are outside the scope of this operation, but can be managed in a separate project and workflows using the JDBC or Oracle Database Plugin.

This plugin supports deploying the same APEX application to the same database. This requires setting the Offset. This situation is not typical, so most often the offset can be ignored.

  • If the application has never been deployed and you do not currently have an offset, the plugin can generate the offset. Just select Use APEX Offset (FDAPEX_USE_OFFSET), make sure you note the offset value used and set the property APEX Offset Value (FDAPEX_OFFSET) for the next deployment.  

  • If you know the offset, select Use APEX Offset (FDAPEX_USE_OFFSET) and set the property APEX Offset Value (FDAPEX_OFFSET).

Environment/Instance Properties

Property Name

Property Code

Required

Description

Oracle SQLcl HomeFD_SQLCL_HOMEYes

Folder where SQLcl is installed.

Use JDK 8 for Endpoint Java due to SQLcl requirements.

APEX UserFDAPEX_USERYesProvide database user APEX_xxxxx (APEX user requires INHERIT Privilege) or owner (parsing schema) of the application for export and import operations. You can use system user as well.
APEX PasswordFDAPEX_PASSWORDYesPassword for APEX User.  
FDAPEX_RUN_APPLICATION_ONLYNoDeploy with Run Application Only as build status.
Oracle Database URLFDORA_URLYes

JDBC URL for Oracle database. For example:

  • jdbc:oracle:thin:@HOSTNAME:PORT:SID or
  • jdbc:oracle:thin:@//HOSTNAME:PORT/SERVICENAME

Connecting to Oracle Autonomous Database

You will need client credential zip file (wallet) to connect with Oracle Autonomous Database on Oracle cloud. You can download wallet zip file from Oracle Cloud, you will need admin userid and password to perform this download.See Download Client Credentials (Wallets) for more details on how to download wallet file.

You must make sure that only authorized users have access to these wallet files. Unzip the client credentials zip file (wallet_databasename.zip) on endpoint where it will be used, which most likely will be FlexDeploy server as we generally use localhost endpoint for JDBC. For example, /home/flexdeploy/.wallets/<wallet_databasename> is folder where specific wallet file was unzipped. Make sure to secure this folder to FlexDeploy and/or Endpoint user, so that it is not readable by all users.

  • Database URL Syntax : jdbc:oracle:thin:@service_high?TNS_ADMIN=/home/flexdeploy/.wallets/<wallet_databasename>
  • Database URL Long Connection String Format Syntax : jdbc:oracle:thin:@(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<hostname>))(connect_data=(service_name=<serice_name>))(security=(ssl_server_cert_dn="CN=<hostname>,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))
    • Examples for the same can be found here

Project Properties

Property Name

Property Code

Required

Description

APEX Workspace Name

FDAPEX_WORKSPACE_NAME

Yes

APEX Workspace Name. Provide uppercase name. This defaults to FD_INSTANCE_CODE expression, so if you keep instance code same as your workspace, you will not need to change default value.

If Workspace id is different in each environment, FlexDeploy will still be able to handle that situation by deriving workspace id from workspace name provided.

Parsing Schema

FDAPEX_DB_SCHEMA

No

Parsing schema (owner) of APEX application.

If not provided, value in exported sql file will be used, which means that schema name will be same in all environments.

APEX Application Id
FDAPEX_APPLICATION_ID
NoIdentifying number of application. If not specified, workspace name and application name is used to query application id, otherwise new application id will be generated.
APEX Application Name
FDAPEX_APPLICATION_NAME
NoThe name of the application to deploy. This is used to derive application id if application id is not provided.
APEX Application AliasFDAPEX_ALIASNoApplication alias is set on the application being imported. If not provided, then alias set in exported sql files will be used.
Use APEX Offset
FDAPEX_USE_OFFSET
NoDetermines if the plugin will attempt to set the Offset.
APEX Offset value
FDAPEX_OFFSET
NoThe offset value during application import. This value is used to ensure that the metadata for the Application Express application definition does not collide with other metadata on the instance.

Inputs

Input Name

Input Code

Required

Description





Outputs

Output Name

Required

Description




Artifacts

This operation consumes artifacts from the artifacts repository.

Endpoint Selection

This operation will select all available endpoints associated to the environment/instance. You can use any Endpoint where SQLcl is installed and has connectivity to database using JDBC URL. We recommend use of LOCALHOST endpoint if connectivity can be established between FlexDeploy and your APEX database.

Endpoint Execution 

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

The following macros are not currently supported in the footer:
  • style