Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

CI/CD for Oracle Analytics Server - Seeking Advice

Accepted answer
95
Views
3
Comments

Hi everyone,

I'm trying to set up a CI/CD pipeline for my Oracle Analytics Server environment, specifically for Analysis and Data Visualization components. I'm looking for guidance on the best practices and tools to use.

Here are some of my specific questions:

  • Version control: What's the best way to manage version control for OAS artifacts like analyses, dashboards, and data models?
  • Automation: Are there any tools or scripts that can automate the deployment of OAS artifacts to different environments?
  • Integration: Are there any tools or techniques for integrating OAS with other CI/CD tools like Bamboo?

Any insights or experiences you can share would be greatly appreciated!

Thanks,

Best Answer

Answers

  • [Deleted User]
    [Deleted User] Rank 7 - Analytics Coach

    Hi @User_XF8Z3

    Welcomed to the community, please update your profile, so we know with whom we are communicating with.

    All objects in OAC from a front-end perspective are handled in the web catalog which itself can be interacted with and automated using the runcat command line:

    https://docs.oracle.com/en/middleware/bi/analytics-server/administer-oas/operations-available.html

    You can use this for all version control or automation tasks as you outlined them above.

    If you're after less granularity and just want to dump out / back up the complete catalog instead of objects, then you can also utilize the snapshots. They are a less granular variant: https://docs.oracle.com/en/middleware/bi/analytics-server/administer-oas/snapshots.html

  • I believe the "official" way Oracle imagined was to work at the BAR level. The issue is that a BAR is the whole environment, or whole pieces of it (all the catalog or not catalog at all, no granularity at all).

    If you are on OAS 2024 (7.6) you can use Semantic Modeler for the RPD part, that comes with native git support, and allows you to handle that there if you want (there isn't a full API to automate things officially so far, therefore it could still require some creativity to explore and call internal APIs if you want to fully automate actions).

    The catalog was easier to handle in a versioning system in OBIEE 12c (or earlier) because it was on disk. All objects back then were XML files mostly. Now the whole catalog is not on disk anymore, therefore it's more difficult.

    As Christian said, you can still use catalog manager by command line, the issue is that you are always working in online mode, which enforce security and therefore could be an issue.

    This is why I believe the official Oracle answer would be to call the 2 scripts to export a BAR or import a BAR, and then you can freely keep the various BAR around. The issue is mostly that a BAR is an archive, if you version it, it's a full replacement of the whole file all the time, you get not a single versioning benefit.

    Keeping it short: there isn't a proper answer to what you ask. Some parts are easier than others, but to achieve a full CI/CD pipeline for OAS with real versioning of each piece (catalog, RPD, security etc.) will require a lot of scripting to create interfaces between OAS and your pipeline. Or you just give up any granular versioning and works at the BAR level.

    You should need to set some priorities of what you really would like to achieve, and then balance the benefits vs the cost and pain of implementing it.