-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs(TF-410): multibrand ci/cd #7401
base: docs/multibrand
Are you sure you want to change the base?
Conversation
|
@@ -7,14 +7,407 @@ navigation: | |||
|
|||
# Deployment - CI/CD | |||
|
|||
Managing deployments for multiple stores can be challenging. This guide explains how Continuous Integration (CI) and Continuous Deployment (CD) work in a multistore setup, helping you create an efficient and reliable deployment process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A bit of storytelling here would be nice - like: deployment working on local machine is fine, but let's be honest, the one we want it's automatically happening when you push your commits to your git provider.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good idea :) 53f5377
First, we need to set up the environment. Our setup action handles several crucial steps: | ||
|
||
::tip Why a Separate Setup Action? | ||
We use a separate setup action to follow the DRY (Don't Repeat Yourself) principle, as these setup steps are used in multiple workflows - for instance `continuous-integration.yml` and `continuous-deployment.yml`. However, you can include these steps directly in your workflow if you prefer - there's no technical requirement to have them as a separate action. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! 👍
|
||
Here's how our setup action is defined: | ||
|
||
```yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How could we have this in sync with the original file? To avoid having an outdated docs 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that's a valid question.. As this is a general problem in our docs, and we don't have a solution for it, I've decided to describe the setup action on a high level 6f44a36
docs/content/guides/6.multistore/2.tooling-and-concepts/4.deployment/8.ci-cd.md
Outdated
Show resolved
Hide resolved
You can use the automatic deployment for staging and manual deployment for production environment. | ||
|
||
::tip Deployment Protection | ||
For Github Actions, you can use deployment protection rules to require manual approval before deployments. Check out the Github [docs](https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-deployments) for more details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice that you put it here 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great. However, I'm not sure whether this should be in the public documentation. On one hand, I'm not keen on hiding any information, but on the other knowledge presented here might give an incentive to our customers to build their own pipelines and deploy to their own infra, what is AFAIK not what we want. Or, even they might even be deploying to our cloud but with a custom pipeline and I don't think we want to support that - IMHO it creates a new bug category. Lastly, I find this as our secret sauce ;) we give it for free here and make our service look less like a service.
WDYT @filrak ?
docs/content/guides/6.multistore/2.tooling-and-concepts/4.deployment/8.ci-cd.md
Outdated
Show resolved
Hide resolved
- Efficient resource usage | ||
- Reduced redundancy (unchanged stores are skipped in CI/CD pipeline) | ||
|
||
## Continuous Integration (CI) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having all the steps listed here and explained briefly would be nice. An image visualizing this would be superb ;)
…oyment/8.ci-cd.md Co-authored-by: Mateusz Ostafil <[email protected]>
|
@mateuszo I think this docs might be helpful for customers who don't use Github Actions. If we don't provide CI/CD for other providers (like Gitlab, Bitbucket, Jenkins), they can use this page to build it on their own |
No description provided.