-
Notifications
You must be signed in to change notification settings - Fork 1
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
chore(ci) : Deploy to staging through a PR label #299
Conversation
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.
bonne idée d'utiliser les labels!
par contre, en l'état là ça bloquerait les déploiements en prod car le workflow build_deploy
est utlisé pour le staging et la prod
- déplacer le
if
sur le jobdeploy
- impossible prendre en compte la
matrix
dans le if au niveau d'un job (cf). Donc soit on duplique le jobdeploy
endeploy_staging
etdeploy_prod
, soit on met leif
au niveau des steps (mais on serait forcé de dupliquer le if sur chaque step car un if sur un step ne skip que la step 🤪 )
Je suis moins fan, avec ma proposition tu peux décider que une PR a le "bâton" de déploiement et ne plus t'en occuper, par contre à chaque push ça rédéploiera ta PR comme attendu. |
désolé j'ai édité entre temps mon commentaire ;) |
OK vu seconde proposition. Ca serait limite plus clair d'avoir du coup le deploy_prod séparé (quitte à faire un include YAML pour etre DRY) mais qui ne se trigger que lorsque la PR est mergée, et le deploy_staging qui se fait sur label (ou via autorisation explicite, mais comme dit plus haut, je suis moins fan) |
ok pour dupliquer le job donc (dry ou non) et pour utiliser un label 👍 pour la prod, est-ce qu'on n'utiliserait pas la branche (protégée) |
Je pense qu'aujourd'hui, avec staging de plus en plus proche de la prod et réellement utilisé en recette, on devrait pouvoir se le permettre en effet. Ca relance un peu le sujet d'avoir une unique datawarehouse, mais j'avoue ne pas être encore certain de la marche à suivre à ce sujet. Le sujet des profils DBT permet en effet d'avoir plusieurs "cibles" mais je ne vois pas en quoi cela nous affranchit d'avoir deux clusters postgres séparés. Il me semble que dans l'immédiat (et dans le doute) avoir deux datawarehouses, meme proches dans le fonctionnement (on pourrait activer les mêmes DAGs en staging et prod ?) me semble le plus safe. Mais je prends toute autre idée avec plaisir ! |
4b06865
to
78b43c3
Compare
3b97ce2
to
8429ad4
Compare
8429ad4
to
df0885d
Compare
9b9badf
to
fc32f73
Compare
It is annoying to be competing with each other when pushing code, so I feel like it's going to help if we decide to deploy through adding a non-mandatory label than "all the time unless draft". Also, drafts mean something different IMHO. They should be used as "please do not review yet, this is a work in progress, open for discussion". This commit also splits the jobs in two: - one job will be responsible of building and deploying images to staging - another one will deploy to prod, the 'release' branch only. Reusable actions have been used to ensure DRYness.
fc32f73
to
60df650
Compare
Il est dommage d'entrer en compétition avec les autres dev à chaque push sur une PR.
Avec ce système, on peut choisir quand déployer, surtout quand certaines PR ne méritent pas forcément un deploy, et se mettre d'accord avec les dev pour ce faire.
De plus, passer en draft n'est pas forcément le meilleur système car on confond le principe d'un brouillon (à ne pas relire) et le fait de déployer ou non.