Probléma
Gitlab pipeline összeállításakor (de Jenkins is egy kutya) jött szembe, hogy ha a gradle-ös projektet szeretnénk buildelni, akkor egy külön lépésben a ./gradlew
-nek egy tetszőleges chmod-dal, pl. chmod u+x ./gradlew
minden futáskor futtatási jogot kell adni, mert a git by-default nem kezeli a jogosultságokat. Ezt simán ki lehet váltani a következővel:
git update-index --chmod=+x path/to/file
Így elvileg futtatható lesz, nem kell chmodolni. 😲 Arra érdemes figyelni, hogy ezt csak olyan fájlokra tudjuk futtatni, amik már verziókezelve lettek. Viszont, ha nem szeretnénk erre egy külön commit-ot elpocsékolni, akkor simán lehet squasholni egy másikkal. Én pl. a CI init kommitját és a gradle futtatást szeretem egybe squasholni.
Forrás: https://stackoverflow.com/questions/40978921/how-to-add-chmod-permissions-to-file-in-git