Oracle Analytics Cloud (OAC) is a scalable, cloud-native service designed to meet the comprehensive demands of the analytics lifecycle, from data ingestion and modeling to preparation, enrichment, visualization, and collaboration.
A CI/CD Solution for OAC
FlexDeploy provides a robust and innovative CI/CD solution for managing OAC catalog objects across multiple environments. By leveraging FlexDeploy Package-based deployment model and support for different catalog types, you can bundle related catalog objects into packages, build them from source control or a development environment, and deploy them across target environments. With FlexDeploy, you gain the added benefits of fully-featured pipelines, toolchain integration, dashboards, reporting, and visibility.
FlexDeploy also introduces Dynamic Packages, which provide more flexibility than traditional User Managed Packages. In the traditional approach, users manually select the individual objects to migrate. With Dynamic Packages, you can automatically calculate the contents of a package using include/exclude expressions. As new objects are added to matching paths, they are automatically included in the package, ensuring that artifacts are consistently managed within a module or functional area. Dynamic Packages can also be used for any partial deployment project, extending beyond just Oracle Analytics Cloud.
Exploring the OAC Plugin
The FlexDeploy OAC plugin simplifies the creation of build and deploy workflows by providing primary operations for managing OAC catalog objects.

- Build Workflow: This workflow extracts catalog objects either from source control or an analytics development environment, assembling them into a versioned artifact.
- Deploy Workflow: The deploy workflow takes the built artifact and deploys it to the target analytics environment.
Both workflows are reusable across multiple projects. The plugin operations expose environment properties, allowing FlexDeploy to connect to your analytics cloud environments via SOAP services. You can configure the endpoint to any server, including the FlexDeploy server itself. The Cloud Account, defined by the target environment property, includes essential details such as URL, Username, Password, and OAuth credentials.

FlexDeploy OAC plugin supports both Basic Authentication and OAuth (Resource Owner and JWT Assertion). For more details, refer to the Configuring OAC Cloud Account documentation.

The OAC plugin operations also expose a single project-scoped property that defines the catalog object path, determining which objects FlexDeploy will manage.

After configuration, files can be discovered from the environment mapped to the build or from source control, and organized in the File Catalog. The file names are appended with extensions matching the OAC object types (e.g., Folder, Data Model, Analysis, Report), allowing for easier identification and filtering.

FlexDeploy allows for two types of packages:
- User Managed Packages: Developers can manually select and assemble files related to a change.
- Dynamic Packages: Developers can configure include/exclude paths using regular expressions, dynamically adjusting the package’s contents based on matching paths in the project catalog/repository. New files that match the paths are added automatically, and inactivated files are removed when changes occur.
Delivering Changes to Oracle Analytics Cloud

Once packages are created, they can be built and deployed just like any other FlexDeploy project. You can trigger build and deployment executions manually or automatically (via Continuous Integration). When a build execution is complete, catalog objects are archived from the OAC development server or SCM repository, zipped, and stored as a versioned artifact in FlexDeploy’s artifact repository.

If the build request is linked to a release or the version is promoted to a release, the project version is placed into a snapshot and sent to the pipeline for execution. The pipeline then orchestrates deployments across environments. In this example, the deployment progresses through the Test stage and awaits QA Lead approval in the QA stage. The pipeline may include manual approval steps, scheduled gates, and can be integrated with a change management system such as ServiceNow for gated production approval, tied to a change request.

Exporting your Catalog Objects to SCM
FlexDeploy can also synchronize files between a development server and a source code repository, promoting the implementation of DevOps best practices for source-controlling developer code. This can be accomplished using following operations:
- ExportWebCatalog: This plugin operation exports catalog objects from OAC in a partial deployment project. It can be used as part of the Pre-Deploy operation in FlexDeploy to take a backup of catalog objects, or after deployment to ensure the latest version with changes and updated metadata is exported.
- DownloadWebCatalog: This operation exports all catalog objects present in a given object path, making it ideal for scheduled utility operations that run at predetermined intervals.
Further details on the configuration for these operations can be found here.
Conclusion
Integrating FlexDeploy into the OAC development workflow offers significant benefits, from streamlining deployments to enhancing collaboration and visibility across teams. The capabilities highlighted here are just the beginning. Explore the full range of FlexDeploy plugin integrations to maximize the potential of your OAC environment. Check out the comprehensive list of all the plugin integrations available for FlexDeploy here.