Skip to content
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

Open
wants to merge 6 commits into
base: docs/multibrand
Choose a base branch
from
Open

Conversation

jagoral
Copy link
Contributor

@jagoral jagoral commented Feb 20, 2025

No description provided.

Copy link

changeset-bot bot commented Feb 20, 2025

⚠️ No Changeset found

Latest commit: 45a8fd2

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@jagoral jagoral changed the title docs(TF-410): ci/cd docs(TF-410): multibrand ci/cd Feb 20, 2025
@@ -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.
Copy link
Contributor

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.

Copy link
Contributor Author

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.
Copy link
Contributor

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
Copy link
Contributor

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 🤔

Copy link
Contributor Author

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

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.
Copy link
Contributor

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 👍

@jagoral jagoral requested review from mateuszo and filrak February 21, 2025 07:25
@jagoral jagoral requested a review from grixu February 21, 2025 09:29
Copy link
Contributor

@mateuszo mateuszo left a 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 ?

- Efficient resource usage
- Reduced redundancy (unchanged stores are skipped in CI/CD pipeline)

## Continuous Integration (CI)
Copy link
Contributor

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 ;)

@jagoral
Copy link
Contributor Author

jagoral commented Feb 21, 2025

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants