The Oracle APEX plugin provides a means to export and deploy database Oracle Application Express (APEX) applications.
Development for APEX is done on database using Application Builder. So, this is different than traditional development environment where code is created on developer's workstation and checked in to Source Control System. You can take two approaches to automate promotion of APEX applications.
Developers export application as SQL files and commit to Source Control System. Build in this case is simple export of Source Control files and zips it as artifacts. FlexDeploy Apex plugin Deploy operation then uses unzipped SQL files to import using APEX_APPLICATION_INSTALL package.
FlexDeploy Apex plugin Export operation exports code from Development environment and zips it as artifacts. FlexDeploy Apex plugin Deploy operation then uses unzipped SQL files to import using APEX_APPLICATION_INSTALL package.
Zip of files is just done to save space and is not at all required.
In either case, FlexDeploy project refers to one and only one Application Id and Work space. You are free to organize projects as appropriate in your development process.
Following best practices are captured from references shown below.
When importing the application into QA/Test or Production environments it is strongly recommended that each application is imported with the same Application ID, as used in development.
The application export file(s) should be checked into the source control system as part of the deliverables for a new release.
There is an excellent open source product called APEX Diff ( https://github.com/OraOpenSource/apex - diff ) which creates JSON exports of an application which can be easily compared with other version s of the application. This product is one of the best alternatives for comparing different releases of an application. Merging of application export files, or in any way modifying the application export script files is not supported by Oracle.
See JDBC PluginGuide to manage supporting database objects. We recommend use of Partial deployment approach.