Ship your app.
Get a URL.
Drop a folder with a Dockerfile into the repo, run one pipeline, and your app is live on HTTPS. Want a nice domain like yourapp.orea.cz? Ask the service desk.
Add your app
Copy the template folder in the repo and drop in your Dockerfile.
Run app-deploy
One pipeline builds the image and deploys it. Pick your environment.
It's live
Reachable on its default azurecontainerapps.io URL with HTTPS.
Custom domain
Request yourapp.orea.cz via the service desk.
Deploy your app
Three steps, all self-service.
Everything your app needs lives in one folder in the sharedapps-prod-01 repo. No infrastructure to set up — the first deploy creates everything your app needs on its own.
Work on a branch, not on main. Create your own branch, push your changes, and open a pull request — direct commits to main are turned off, so every change gets a quick review and main stays deployable.
Add your app folder
In the repo, copy apps/_template to apps/<your-app> and put your real Dockerfile there. It just has to listen on the port you set as targetPort.
Fill in a few parameters
Edit containerapp.bicepparam in your folder — the app name, the repository name (same as the folder), the port, and how much CPU/memory it gets. Add Key Vault secret references only if your app needs them. Set appOwnerUpn to your email to get Contributor on your app's resource group.
param containerAppName = 'ca-my-app'
param repositoryName = 'my-app' // = your folder name
param targetPort = 8080
param cpu = '0.5'
param memory = '1Gi'
param environmentVariables = []
param keyVaultSecrets = []
// who can manage this app's Azure resources (gets Contributor
// on the app's resource group). Leave '' for none.
param appOwnerUpn = 'jan.novak@cimex.cz'
Run the app-deploy pipeline
In Azure DevOps → Pipelines, run app-deploy. Set appName to your folder name and pick targetEnvironment — temp to try it, prod for the real thing. It builds your image and deploys it; your app comes up on its own HTTPS URL. Deploy to temp first, then re-run for prod when you're happy.
Custom domain
Want yourapp.orea.cz? Just ask.
Your app already has a working HTTPS URL out of the box. A friendly custom domain under orea.cz or cimex.cz is set up by the platform team — raise a request and they wire it up, certificate and all.
Raise a request at the service desk
Go to servicedesk.cimex.cz and open a request for the sharedapps platform. Include the details below so it can be set up in one go.
Tell us
- App name — your folder name, e.g. my-app
- Environment — prod or temp (where it's deployed)
- Domain wanted — e.g. my-app.orea.cz or my-app.cimex.cz
What happens
- The platform team adds the domain and runs the Front Door setup
- DNS and a managed TLS certificate are provisioned automatically
- The certificate can take up to ~1 hour to go live after setup
No config for you to write — the domain mapping is managed centrally.
Open the service desk ↗Good to know
A few things that'll help.
Two environments
temp is for trying things out, prod is the real one. The same folder deploys to either — you pick at run time.
HTTPS is included
Every app gets a valid HTTPS URL automatically, on both its default domain and any custom domain.
Secrets via Key Vault
Put secrets in the shared Key Vault and reference them in keyVaultSecrets. Access is granted to your app only when you declare them.
Your own space
Each app gets its own resource group and identity, created on first deploy. Set appOwnerUpn and you get Contributor on it — poke around in the portal anytime.
Scales to zero-ish
Set minReplicas/maxReplicas in your parameters. Small apps stay small and cheap.
Stuck?
Check the pipeline logs first — they say what failed. For anything platform-side, reach the platform team via the service desk.