Expand my Community achievements bar.

Help shape the future of AI assistance by participating in this quick card sorting activity. Your input will help create a more effective system that better serves your needs and those of your colleagues.

Help Needed: Version Control and CI/CD for AEP?

Avatar

Level 4

Hey there, AEP community! 

We're scratching our heads over here, trying to figure out the best way to manage our Adobe Experience Platform (AEP) configurations across our different environments. You know, the usual suspects - DEV, SIT, UAT, and PRD.

We've got this idea of using version control and maybe even setting up a CI/CD pipeline for our AEP stuff, but... we're not really sure if that's even a thing with AEP. 

So, we thought we'd reach out to you folks for some guidance. Here's what we're wondering:

  1. Is version control for AEP configurations (like schemas, datasets, segments, configurations) actually doable (or recommended)?
  2. Has anyone managed to set up a CI/CD pipeline for AEP? If so, how did you do it?
  3. Are there any tried-and-true methods for juggling AEP configurations between environments?
  4. What kind of gotchas should we watch out for if we try to go down this road?
  5. If full-on CI/CD is a pipe dream, what other options might we have?

We're currently using GitLab (as version control and CI/CD) for our other projects (non Adobe), so we're kind of eyeing it for this too. But hey, we're totally open to whatever works best with AEP!

If you've got any nuggets of wisdom, war stories, or even just a "yeah, we tried that once" to share, we'd be super grateful. We're all ears!

Thanks a bunch for any help you can throw our way. You folks rock! 

6 Replies

Avatar

Community Advisor

Hi @JeanBaro_ ,

 

Adobe Experience Platform offers Package Management through both the UI and API to move configurations (like schemas, datasets, and segments) between sandboxes. You can use this feature to manage deployments effectively.

For more details:

However, I haven't found a direct way to export configurations via UI or API and link them with Git for version control.

 

Hope this helps!

 

Kr,

Parvesh

Avatar

Level 4

Thanks @Parvesh_Parmar for the helpful info! (I am investigating them right now).

We're exploring ways to manage our AEP setup more effectively, ideally similar to our approach with other tech (Salesforce, Node.js, .NET, etc):

  1. Version-controlled files documenting all changes
  2. Static analysis checks (including custom scripts when needed)
  3. Safe, controlled promotions between environments
  4. Full traceability

Given AEP's complexity (including RT CDC, AJO, etc.), we believe these safeguards are crucial long-term.

I'm curious to hear from the community:

  • Has anyone set up a "CI/CD pipeline" for AEP?
  • What's worked well?
  • Any challenges or lessons learned?

We're eager to learn from others' experiences and find the best path forward.

Thanks everyone for sharing your insights!

Avatar

Level 4

Hey folks,

Just wanted to pass along something that might be helpful. A colleague shared this video with me about copying schemas between AEP sandboxes:

https://experienceleague.adobe.com/en/docs/platform-learn/tutorials/schemas/copy-schemas-between-san...

It's from 2021, so it might not cover everything we're looking for, but it could be a good starting point. If anyone checks it out and finds it useful (or not), let me know what you think. Always happy to learn more about this stuff together!

Avatar

Community Advisor

Hello @JeanBaro_ , 

 

As you know, in AEP, most functionalities can be managed via APIs, allowing for the creation, modification, and management of various objects like schemas, datasets, identities, segments, profiles, and more. This functionality is still valid.

 

You can think of this approach as creating or updating objects via API. If I understand correctly, you want to use the API to fetch metadata for these objects, such as a schema JSON, and integrate your backup storage application to store it. You need to explore the API for each object to understand how to read or update it effectively.

If you want to upload it to another sandbox, for example, by reading a schema from one sandbox and deploying it to another via API, it is entirely possible. However, you must ensure all the parameters are correct when reading or updating through the API requests. This process can become quite complex in AEP for deployment.

For deploying schemas, datasets, segments, etc. from one sandbox to another, I recommend using the out-of-the-box functionality, as it is considered best practice. If you encounter any issues, the Adobe support team will be able to assist you.

 

If your objective is simply to back up existing schemas, datasets, segments, or other metadata, you can use APIs to read this information automatically at specified times or schedule it using your custom third-party solution and store it in your Git repository as a backup.

 

Hope this helps.

 

Kind regards,
Parvesh

Avatar

Administrator

@JeanBaro_ Did you find the suggestion helpful? Please let us know if you require more information. Otherwise, please mark the answer as correct for posterity. If you've discovered a solution yourself, we would appreciate it if you could share it with the community. Thank you!



Kautuk Sahni

Avatar

Level 4

Hello!

These were really good answers and help, but we are still trying to figure out a way to achieve a proper CI/CD pipeline with AEP.

Once I have the solution in place, I'll come back here and share it.

Thanks!