Wie verhindere ich, dass CI-Builds in Jenkins versehentlich in das Release-Repository veröffentlicht werden?

Manchmal checken die Entwickler versehentlich eine Version in POM ohne "SNAPSHOT" ein. Dies erstellt das Maven-Projekt und veröffentlicht die Artefakte, um das Repository freizugeben. Wie kann ich diese Situation vermeiden? Ich möchte nur Build-Artefakte veröffentlichen, um das Repository freizugeben, und keinen CI-Build.

Ich habe über Folgendes nachgedacht - aber keiner von ihnen ist eine einfache Ein-Schritt-Lösung.

Schreiben eines Pre-Commit-Hooks, um zu überprüfen, ob die Version ohne SNAPSHOT von einem anderen Benutzer als admin eingecheckt wurde, der einen Release-Build ausführen darf.Modifizieren Sie den Jenkins-Job, um festzustellen, ob es sich bei dem Build um einen CI-Build handelt. dann grep nach version und error out wenn die version i, keine snapshot version ist. Dafür muss ich Hunderte von Jobs ändern.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage