Hi,
I have a custom domain that looks something like this : domain.com
I want to have a development environment which will be staging
.
I’ve created a staging
deploys branch in Netlify UI and one on git aswell, it works well : when I push to staging
branch, it deploys to staging.domain.com
subdomain.
But now I want to add another subdomain which is feature related : admin
subdomain.
Is this possible to combine both subdomain and have a result that will look like staging.admin.domain.com
? Or is it a bad practice? What would be the recommanded way otherwise?
Thanks!
Hi @GreatHawkeye,
I won’t say it’s a bad practice, but I don’t think the SSL certificate would be able to configure *.*.domain.com
. It’s better to create a different website for the admin branch and add the staging subdomain to it.
1 Like
When you say “create a different website”, do you mean clicking “New site from Git” again and link it to the same repo? But this time adding “admin” branch as the production branch maybe?
What would the URL would look like then?
Or maybe you meant a totally different domain name like admin-domain.com?
Yes, that’s what I meant. You could basically add a custom domain to that website and that custom domain would be admin.custom-domain.com
. You can also get a branch domain for that website and that would be staging.admin.custom-domain.com
. It will then get the correct SSL certificate.
1 Like
Okay so it’s working, when i push to admin
branch, it’s deploying to admin.domain.com !
I also added a “staging” branch to the deploys branch of “admin” website, so now when I push to “staging” branch, it deploys correctly to staging.admin.domain.com
But now if I want to also have a staging env for all my websites, I will have to create as many env scoped branches as needed, correct?
For example:
- For the “main” website (domain.com), the
main
branch deploys to domain.com, I will have to create a staging-main
deploy branch to deploy to staging.domain.com
- For the “admin” website (admin.domain.com), the
admin
branch deploys to admin.domain.com, I will have to create a staging-admin
deploy branch to deploy to staging.admin.domain.com
Is that correct?
Also, how can I use feature branch in netlify? What if I want to use staging-admin/my-feature
?
Hi @GreatHawkeye,
Sorry to be slow to get back here.
Well, branch subdomains need the branch name to be exactly the same as subdomain. So, to get staging.domain.com
, the branch has to be called staging
. If you name it staging-main
, the subdomain should also be staging-main.domain.com
. The workaround this limitation would be to create a different website to point to each branch and assign any custom domain you want to that website.
Again, if you publish admin branch as the primary branch of a website, the next branch should be named staging so you could get staging.admin.domain.com
.
You could use such a branch but /
would be converted to -
, and so, the domain would be staging-admin-my-feature
. Do note, --
is not allowed as we use it as an separator ourselves. So, you can’t have something like staging-admin-/my-featue
as that would convert to staging-admin--my-feature
.
1 Like
Thank you very much for these answers!
So I guess the proper workflow for a development team working on the staging
env would be to :
- create a new local branch from
staging
branch, called for example staging/my-feature
- after development is complete, create a merge request on github to merge
staging/my-feature
into staging
- once this merge request is accepted, it merges this
staging/my-feature
into staging
branch, which triggers the deploy to staging.domain.com
I guess this is an usual workflow?
Hi @GreatHawkeye,
I can’t comment if that’s the usual workflow, as I’ve personally never had to do this.
But yeah, looks like in your case you’d have to do something like that to get around your case.
1 Like