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

📝(release) update release.md #829

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions docs/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,36 +29,36 @@ Whenever we are cooking a new release (e.g. `4.18.1`) we should follow a standar
🔖(minor) release version 4.18.1
```

3. Open a pull request ask you to wait for an approval from your peers and merge it.
5. Open a PR. Wait for an approval from your peers and merge it.

4. Ask you to tag and push your commit:
> [!NOTE]
> It also open the PR for pre-prod deployment, see following section.

3. Following release script instructions, tag and push your commit:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est dans le script aussi les instructions pour le tag du coup ça me fait bizarre cette phrase.
En fait le script de release il est super détaillé et fait tout. Il suffit de suivre les instructions du script. Est-ce que ça ne vaudrait pas le coup ici de mettre des captures d'écran du terminal pour voir ce qui se passe ? (c'est peut être un peu trop :D)
Ya juste un truc à savoir c'est de bien avoir le dépôt de lasuite-deploiement cloné pour que le script fasse aussi la PR de déploiement en preprod.
Est-ce que du coup ça serait intéressant de mettre un warning pour dire attention il faut avoir le dépôt cloné avec les droits pour que le script fasse le taff jusqu'au bout ?

Copy link
Member Author

@mjeammet mjeammet Mar 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En fait, même si le script le dit, je pense qu'on doit le dire ici parce que ça fait partie des actions à entreprendre.
OK je rajoute un mot sur le clonage du repo "deploiement". Pour info, j'essaie de faire en sorte que ce soit clair qu'on a deux étapes (d'abord on crée l'image, ensuite on la déploie sur argocd). Comme pour nous ça n'a pas été tout de sute très clair, j'ai envie que ça le soit pour de bon dans ce fichier.


```bash
git tag v4.18.1 && git push origin tag v4.18.1
```

Doing this triggers the CI and tells it to build the new Docker image versions that you targeted earlier in the Helm files.

You can ensure the new [backend](https://hub.docker.com/r/lasuite/people-backend/tags) and [frontend](https://hub.docker.com/r/lasuite/people-frontend/tags) image tags are on Docker Hub.

5. Ensure the new [backend](https://hub.docker.com/r/lasuite/people-backend/tags) and [frontend](https://hub.docker.com/r/lasuite/people-frontend/tags) image tags are on Docker Hub.

6. Create a PR on the [lasuite-deploiement](https://github.com/numerique-gouv/lasuite-deploiement) repository to bump the preprod version.

7. The release is now done!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En fait le 3, 4, 5, 6, 7 (ligne 32 à 46) devraient etre la suite du "4. Commit your changes with the following format:". Il a eu un foirage :D
Il s'agit de la description de ce que fait le script de release.
Il y a besoin de décrire en détails ce qu'il fait. Le déploiement en preprod se fait via le script "make release" pas à la main. Donc faudrait laisser les explications ici.
Et le "3. Open a pull request ask you to wait for an approval from your peers and merge it." devrait être un truc du genre "Create a new and ask you to create a PR..."

Copy link
Member Author

@mjeammet mjeammet Mar 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yes merci pour le rappel, j'avais oublié que le script ouvrait automatiquement une branche là-bas.
Ca donne un peu envie d'ouvrir aussi la PR de prod à ce moment-là aussi, non ? Elle peut rester une semaine.

Peut-être même qu'on pourrait la mettre en automerge et ce serait JB qui, une fois sa recette faite, met le approve et déclencherait la prod. Qu'est-ce que tu en dis ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Surtout pas de branche auto généré pour la prod. La MEP doit se faire manuellement par un dév. Ce n'est que 2 ligne d'un fichier à changer. Ya trop de risque à mettre de l'automagique.


# Deploying
# Deploying

> [!TIP]
> The `staging` platform is deployed automatically with every update of the `main` branch.
## Staging

Making a new release doesn't publish it automatically in production.
The `staging` platform is deployed automatically with every update of the `main` branch.

Deployment is done by ArgoCD. ArgoCD checks for the `production` tag and automatically deploys the production platform with the targeted commit.
## Pre-prod and production

To publish, we mark the commit we want with the `production` tag. ArgoCD is then notified that the tag has changed. It then deploys the Docker image tags specified in the Helm files of the targeted commit.
If you used the release script and had permission to push on [lasuite-deploiement](https://github.com/numerique-gouv/lasuite-deploiement), a deployment branch has been created. You can skip step 1.

To publish the release you just made:
Otherwise, for manual pre-prod and production deployments :
1. Bump tag version for both front-end and back-end images in the `.gotmpl` file located in `manifests/<your-product>/env.d/<your-environment>/`,
2. Add optional new secrets and variables, if applicable
3. Create a pull request
4. Wait for approval and merge PR

```bash
git tag --force production v4.18.1
git push --force origin production
```
The release is now done! 🎉
Loading