From 876f1b2af4217138bf3e1159e5981e2971db359b Mon Sep 17 00:00:00 2001 From: "Thierry T." <1940947+lepiaf@users.noreply.github.com> Date: Wed, 13 Nov 2024 12:20:24 +0100 Subject: [PATCH 01/10] Create 2024-11-26-commit-lint.md --- _articles/fr/2024-11-26-commit-lint.md | 78 ++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 _articles/fr/2024-11-26-commit-lint.md diff --git a/_articles/fr/2024-11-26-commit-lint.md b/_articles/fr/2024-11-26-commit-lint.md new file mode 100644 index 000000000..711d63e59 --- /dev/null +++ b/_articles/fr/2024-11-26-commit-lint.md @@ -0,0 +1,78 @@ +--- +contentType: article +lang: fr +date: '2024-11-26' +slug: automatiser-la-verification-du-commit +title: Automatiser la vérification du commit +excerpt: Automatiser la vérification du commit avec commitlint +categories: + - architecture +authors: + - tthuon +keywords: + - devops + - gitlab +--- + +Dans l'article sur la c +## Convention de nommage des commits + +Nos commits doivent respecter une convention. Pour cela, nous allons utiliser [Commits Conventionnels](https://www.conventionalcommits.org/fr/v1.0.0/). + +Pour simplifier, un commit commençant par +- "feat: " va incrémenter le numéro de version mineur +- "fix: " va incrémenter le numéro de version de correctif + +Une fois que nos commits respectent la nomenclature défini par Commits Conventionnels, nous pouvons utiliser un outil pour effectuer le différentiel de version : [semantic-release](https://github.com/semantic-release/semantic-release). + +## commitlint + +commitlint va automatiser ce processus de marquage d'une version d'une application. + +Cela nécessite quelques configurations. + +Tout d'abord, il faut créer un fichier `.commitlintrc.yaml` avec le contenu suivant : + +```yaml +extends: + - "@commitlint/config-conventional" +``` + +Cette configuration ajoute deux modules pour utiliser les commits conventionnels, et un troisième pour s'intégrer avec Gitlab. + +Enfin, la branche de référence en `main` dans notre cas. + +Dans le fichier `.gitlab-ci.yml`, ajoutons une tâche pour générer le prochain numéro de version. + +```yaml +stage: + - tests + +lint:merge_request_title: + image: dockerhub.ftven.net/node:lts + stage: tests + before_script: + - npm install @commitlint/{cli,config-conventional} + script: + - echo "${CI_MERGE_REQUEST_TITLE}" | npx commitlint + rules: + - if: $CI_MERGE_REQUEST_IID +``` + +
Prévisualiser le contenu de la prochaine version
+Ajoutez l'option --dry-run afin de prévisualiser le contenu de la prochaine version +Prévisualiser le contenu de la prochaine version
-Ajoutez l'option --dry-run afin de prévisualiser le contenu de la prochaine version -POu~Jw&}mLuhHVGFl65
zinc*Jqi3T7(IMzqbP{?!x)5E7-itnpK8Nl_-$Xw`zsF!P3K$B;6l0HZ!_2{OF-tH>
zm`qGDrUui5X~pznZegBbzDUSOs7n}2*h#P?{3SvqmP({c6iQS}G)lBd^h=CNyuo6z
z%2<7@HP#IqfDOm4z-D4gvHP&i*lz3{>}yF$Nfk+BNe9W 6p;r<2^%dsc`CSgDmWWm)u1Lo_iIJv$Zp=UDRS9`?
zJPuY=Bm%sKh3QjrAQzHmDQ51uh5jHW#O9t%(SQ;k>LtR6tLSl}p*(moS2GRu9idrj
z>tP#V8xeZ!iwU$19lcAhc-q;l_Lt|E{f>qI*W6px$=|CwTD5e&PCumT&rc9E7J!%#
zd8=gZ(;18p%CCZpw m>6b?eXf<9i__SD=Uo4h^h;
zJ)O$_LKrK;Kh_pYI|(Cv!l-KQh7_rP@E_25F0iDArw;{_4CWvUj41s$=V(amDbEUm35TzZJ5C7(+H;l@`1*r-Qwgz>Tb
zWh!y}h!C9#mN`sF>CdY0Uy6`Y33l@l%k=+>`wPQ-qV0FN|ITN3!RZrUYpy#Y%T7`s
zUwlWiJKfDIpwC@WF0&Y0Z{4@=Tc?KquG61#_`O@3`ie`%cGzj^&rV^6<5t9e>3KRm
zZ%>K&oWcUNKJ78lZvqEF2F&lW^G(n#xPPPYKUWOo$6!K!deQ<2EtRkhm8_K#fF&X+
zSOSuQepQY}!6+1Q^$Ve9_u1>tjrq$r@?*-%5E(4qDBUgntqcrHOF&3GO&Y;t(Q`0Z
z1=Jj0nhv5R&PXY!e&e8TVw{j48AoA7aie2nq9=rtHW^V9BS|YLenaw$jgJ#jeEG2n
z0xmy}rj1a<)o2Bk?@|yO&5P&$LZHmBL^LMJ0EW|OG-M(Lf~*zDA{M~
KmKA~^O4B;
z#3Pj=T6gsEvIOfbo=X0AI<
fyU_kr=0}#RzC=rN=
z6|rQOGSMec#6&%PDn#VLPw6M4KZg2T1i!0J8i}0=)Z7i>0D{Y7aBv<8IDm&&(U1*+
zxna5~ARxNZ0}I2v&idgqy(X;vkr^pLY-W9I?tEI7Pteh+_QCF{s#%}XKAWF;pIa=7
z(6L)&;;{T&e?1Jt=pj}@xlzI>%ed%gJFNB3am6cQMc`bA${B)qs;l9(g3Vy`pStY^
zk)r8ZNk*)&s4p*)P9AL`-)JE;O~n6i%EhZ*?56IB_tD~<(MaTVuaVX4#bb0<%p6Iwn7^7FsxDViK8BPMFkUk6#R>>Haqb_O3qxf3;n=)FJWlXN16!
z=IW1wmn~aZAVqL^>*NoYjqLO@U4Of~JIA7{l6}5wb$0zq@s;iOVYh(N{6C05`9&PF
znNp`b4s~~5ISapKGbR;b+(kcW#?~xRxE^uLv8Wdp(vZFHO0g*W&NK?0<+vE|Q4_gt
zynrci3d+)?URzrhS{Nmv{qMR=)I9NAP!fd@*4Hzgf^)QVeoY^TixPwEgftk%z@Z`|
zV9{MPkJTcUd{f-$Lb0p@g@%EPdueJ|I9sMF)%y3)rgw9hpT7o!k=ct1N`^oSeuP=6
zL0Z;L(dPnfV{r6Bkm!F1W557qzCU2hKwF^6NzB7WUG6TqMF&jCX%`5!HcD4{_d)W6
zD4Xey+M6%09`1g>lNpm0^Jil6xGGwI?cg%BFvDG4QgPc#@lHz*!BINY
VMrf=Efw|k&$HAEo
zH+HXU_S~AWY{3hO7gc7DEPGS6(