Sitecore
XM Cloud Implementation Patterns
Frontend Hosting Options
Section titled “Frontend Hosting Options”Since Sitecore doesn’t host your rendering application, you need to choose a hosting platform:
Vercel (Recommended by Sitecore)
- Excellent Next.js support (built by Vercel)
- Edge caching, automatic scaling
- Simple deployment (connect GitHub repo)
- Cost: $20-$2,000+/month depending on traffic
Azure Static Web Apps
- Good Next.js support
- Integrates well if you’re already on Azure
- Cost: $0-$500+/month
Netlify, AWS Amplify
- Similar capabilities to Vercel
- Choose based on existing cloud relationship
Custom Node.js Hosting
- Azure App Service, AWS ECS, Google Cloud Run
- More control, more operational overhead
Serialization: Sitecore CLI (SCS)
Section titled “Serialization: Sitecore CLI (SCS)”XM Cloud uses Sitecore Content Serialization (SCS) to manage templates, settings, and optionally content in version control.
SCS replaces:
- TDS (Team Development for Sitecore): Commercial tool, discontinued, no longer works with XM Cloud
- Unicorn: Community tool, still works with XP/XM but not recommended for XM Cloud
SCS Basics:
Items are serialized as YAML files:
---ID: "110d559f-dea5-42ea-9c1c-8a5df7e70ef9"Path: /sitecore/templates/Project/Article PageTemplate: "{AB86861A-6030-46C5-B394-E8F99E8B87DB}"SharedFields:- ID: "{12C33F3F-86C5-43A5-AEB4-5598CEC45116}" Value: "Article Page"Fields:- ID: "{A4F985D9-98B3-4B52-AAAF-4344F6E747C6}" Name: "Title" Type: "Single-Line Text"Configuration (module.json):
{ "$schema": "https://sitecore.io/schemas/module.json", "namespace": "MyProject", "items": { "includes": [ { "name": "templates", "path": "/sitecore/templates/MyProject", "scope": "ItemAndDescendants" }, { "name": "content", "path": "/sitecore/content/MyProject", "rules": [ { "path": "/Home", "scope": "ItemAndChildren", "allowedPushOperations": "createUpdateAndDelete" } ] } ] }}Common CLI commands:
# Pull items from XM Cloud to localdotnet sitecore ser pull
# Push local items to XM Clouddotnet sitecore ser push
# Watch for changes and auto-syncdotnet sitecore ser watchCI/CD Integration
Section titled “CI/CD Integration”Using Deploy App (Built-In):
- Connect your GitHub or Azure DevOps repo to XM Cloud
- Sitecore generates a default GitHub Actions workflow
- Push to main branch → Deploy App builds and deploys automatically
Using Custom CI/CD:
If you have existing CI/CD (Jenkins, GitLab CI, etc.), use Sitecore CLI commands in your pipeline:
# Example GitHub Actions workflow- name: Login to XM Cloud run: dotnet sitecore cloud login --client-id ${{ secrets.SITECORE_CLIENT_ID }} --client-secret ${{ secrets.SITECORE_CLIENT_SECRET }}
- name: Push serialized items run: dotnet sitecore ser push
- name: Trigger XM Cloud publish run: dotnet sitecore cloud deployment create --environment-id ${{ secrets.ENV_ID }}