Skip to main content
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 Package-Based 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).

Target Properties

Property Name

Property Code

Required

Description

Oracle SQLcl Home

FD_SQLCL_HOME

Yes

Folder where SQLcl is installed.

Make sure that the endpoint Java Home is a high enough version for your SQLcl version.

APEX User

FDAPEX_USER

Yes

Provide 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 Password

FDAPEX_PASSWORD

Yes

Password for APEX User.  

Run Application Only

FDAPEX_RUN_APPLICATION_ONLY

No

Deploy with Run Application Only as build status.

Oracle Database URL

FDORA_URL

Yes

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.

  • Since FlexDeploy 9.0.0.9 with Oracle Wallet Credential Type : Instead of maintaining the wallet zip file under the file system, you can now store the wallet zip as an Oracle Credential Type in FlexDeploy. This allows for secure storage and use of the wallet.

    • Use the URL syntax in the following format: jdbc:oracle:thin:@service_low?TNS_ADMIN={{FDORACLEWALLETFILE}}</code></p></li><li><p>Wemustselectvalidoraclewalletcredentialfor<code>FDORACLEWALLETFILE</code>propertyontargetgroup.</p></li><li><p>Here,<code>\{\{FDORACLE_WALLET_FILE\}\}</code></p></li><li><p>We must select valid oracle wallet credential for <code>FDORACLE_WALLET_FILE</code> property on target group.</p></li><li><p>Here, <code>{{FDORACLE_WALLET_FILE}} is replaced with the temporary wallet folder path during execution. Once execution is completed, the temporary file is cleaned up automatically.

  • Before FlexDeploy 9.0.0.9

    • You must make sure that only authorized users have access to these wallet files. Unzip the client credentials zip file (wallet_databasename.zip) on FlexDeploy server and/or endpoint where it will be used. 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.

    • We recommend using Oracle Wallet Credential Type for better security and easier management of Wallet usage.

    • 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.

If using the Oracle Database Plugin with ADW or ATP databases , use the _low connection. The _medium and _high connections can sometimes throw error ORA-12839: cannot modify an object in parallel after modifying it.

Oracle Wallet File

FDORACLE_WALLET_FILE

No

Since 9.0.0.9 - Provide the Oracle Wallet file, seeCredential Type - Oracle Wallet for more details.

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

No

Identifying number of the 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

No

The name of the application to deploy. This is used to derive application id if application id and Application Alias are not provided.

APEX Application Alias

FDAPEX_ALIAS

No

APEX Application Alias. Sets the alias for the application during import. If not provided, the alias from the exported SQL files is used.

Use APEX Offset

FDAPEX_USE_OFFSET

No

Determines if the plugin will attempt to set the Offset.

APEX Offset value

FDAPEX_OFFSET

No

The 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.

Backup files prior to deploy

FD_BACKUP_FILES_PRIOR_TO_DEPLOY

No

Indicates whether a backup of the files should be performed prior to deploying the files.

For more information on the backups repository see: FlexDeploy Backups Repository

Allows backing up application before deployment, ensuring a smooth rollback if necessary. This was added in 9.0.0.2. See Build & Deploy Projects for details on performing deployment rollback.

Inputs

Input Name

Input Code

Required

Description

Validate Apexlang Before Import

FDAPEX_INP_APEXLANG_VALIDATE_BEFORE_IMPORT

No

When true, runs SQLcl apex validate on APEXlang source before importing the application.

@Since 11.1.0.1

ApexLang Validate Additional Command Options

FDAPEX_INP_APEXLANG_VALIDATE_ADDITIONAL_COMMANDS

No

Optional additional ApexLang validate command options (ex: -deployment default.json).

@Since 11.1.0.1

ApexLang Additional Command Options

FDAPEX_INP_APEXLANG_ADDITIONAL_COMMANDS

No

Optional additional ApexLang import command options.

@Since 11.1.0.1

Artifacts

This operation consumes artifacts from the artifacts repository.

Endpoint Selection

This operation will select all available endpoints associated to the Target. 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.