Oracle’s Application Express and DevOps automation are not often thought about together. FlexDeploy offers a great solution that will enable you to quickly automate getting your code checked into your favorite SCM, deploying, and then unit testing it. In this blog, I will show how FlexDeploy enables this and how you can use FlexDeploy for free.
This blog focuses on the APEX application, but FlexDeploy also has a database plugin to move your related schema changes and PL/SQL.
Please reference https://flexagon.com/2018/11/flexdeploy-loves-apex-source-from-scm for more details on build/deploy automation.
Building your APEX Application using FlexDeploy
Building is really a misnomer with APEX. The normal goal of a build is to make the application available to FlexDeploy to deploy in its deployable form, an EAR file, for example. With APEX, however, the application is already in a deployable form upon export. As such, we just need to check the application into our SCM. Use the “Export” operation on the APEX plugin to export the application as a SQL file from APEX, then check it into an SCM with the SCM’s plugin.
This process is scripted in our graphical workflow tool, so it is easy to handle differences in build process. For example, if the application is already in SCM, then we can just check it out of the SCM in the build step.
Deploying your APEX Application using FlexDeploy
To deploy the application, just use the Deploy operation on the APEX plugin and set the properties. Under the covers it is using APEX_APPLICATION_INSTALL.
Testing your APEX Application using FlexDeploy
FlexDeploy has a variety of plugins for testing. For a Web interface, use the TestNG Plugin to run Selenium tests. With our upcoming fixpack, we have a utPLSQL plugin to test database objects.
Continuous Integration
FlexDeploy will let you schedule your build/deploy or trigger it when your SCM has new changes. If testing is successful, you can trigger it to the next environment.
Want More?
For more information, check out our new blog series: FlexDeploy Loves Oracle APEX.