Hey everyone,
Note: main questions to address at bottom of post.
This is a general question about the process for setting up DevOps CI/CD pipeline(s) via EDS. Really appreciate any help or guidance/tips on this, as I know this is a new process overall and many others may be in me and my teams shoes.
Context: Our team is currently trying to optimally setup a client's project, and we want to create a smooth CI/CD system which will take into account both the development side of contributions as well as the actual content authoring side (client side) of the flow. The tooling and process we're utilizing is as such (see attached screenshot as well of our current infra thinking & layout):
- Document/Content Authoring & Asset Management = Sharepoint
- Version Control and Development Organization = GitHub
- Deployment and CDN = AEMaaCS (we are using Edge Delivery)
As for utmost safety in a project and to prevent unwanted mistakes, multiple environments should exist ideally. But so far this is understood by our team as such:
- Feature branches take in local code changes/pushes
- Merge into a Staging branch
- Merge into QA or Main
- From which it goes to a production pipeline - the pipeline is triggered from main
- Pipeline deploys to production (.com) site directly from .live (published content)
- Content authors can now see the changes on the main site, and choose to make changes
What we want to know is:
- How to setup the different environments in the Edge Delivery Solution, considering we can only add EDS domains?
- Do we set up separate domains (staging.abc.com for example) for each environment?
- Would having multiple domains or subdomains be a good approach?
- Is it necessary when working with an EDS process?
- Is a staging environment even needed?
- How do we bifurcate/manage content and page differences between QA and Staging environments? Do we need different Sharepoint mount URLs?
- Would having multiple domains or subdomains be a good approach?
- Could multiple sharepoints be created for the site, each one representing an environment?
- How could multiple sites be mounted onto the same fstab.yaml?
- Could we not just create multiple folders inside the main Sharepoint website folder structure to achieve this?
- Can SharePoint's version history fully address rollback scenarios, especially for deleted content in production?
- What specific measures (e.g., robots.txt, meta tags) can be implemented to ensure non-production environments are excluded from search engine crawling?
I appreciate any and all help, happy to provide more context or specifics as needed to address these concerns.
Thank You!