Testen mit Jenkins
Um eine laufende Jenkins-Instanz zu erhalten, können Sie Docker und die vorbereitete Jenkins-Umgebung verwenden:
mvn generate-resources
docker-compose upMelden Sie sich bei Jenkins mit den Anmeldedaten scmadmin/scmadmin an. Klicken Sie dann oben rechts auf den Benutzer und wählen Sie im linken Menü „Konfigurieren“. Dort können Sie ein neues API-Token erstellen, indem Sie auf "Neues Token hinzufügen" klicken. Tun Sie dies und kopieren Sie den generierten Hash. Dieser wird im Folgenden als „API-Token“ bezeichnet.
Diese Jenkins-Instanz hat einen Job konfiguriert, der von http://172.18.0.1:8081/scm/repo/scmadmin/git pullt.
Sie können dieses Repository in einer laufenden SCM-Manager-Instanz mit curl erstellen:
curl -u scmadmin:scmadmin --data '{
"contact": "zaphod.beeblebrox@hitchhiker.com",
"name": "git",
"archived": false,
"defaultBranch": "branch",
"type": "git"
}' --header "Content-Type: application/vnd.scmm-repository+json" http://localhost:8081/scm/api/v2/repositories/Repository-bezogene Konfiguration
Stellen Sie Jenkins für dieses Repository mit curl wie folgt ein (bitte fügen Sie Ihren oben generierten API-Token ein):
curl -u scmadmin:scmadmin --data '{
"apiToken":"<API-Token>",
"branches":["main"],
"project":"scm",
"token":"SOME_TOKEN",
"url":"http://localhost:8082/",
"username":"scmadmin",
"csrf":false
}' --header "Content-Type: application/json" -X PUT http://localhost:8081/scm/api/v2/config/jenkins/scmadmin/gitSie können nun das Repository klonen:
git clone http://scmadmin@localhost:8081/scm/repo/scmadmin/gitWann immer Sie etwas im main-Branch ändern, sollte ein Build in Jenkins ausgelöst werden.
Globale Konfiguration
Deaktivieren Sie die repository-bezogene Konfiguration und erstellen Sie eine globale:
curl -u scmadmin:scmadmin --data '{
"disableRepositoryConfiguration":true,
"disableMercurialTrigger":false,
"disableGitTrigger":false,
"url":"http://localhost:8082/"
}' --header "Content-Type: application/json" -X PUT http://localhost:8081/scm/api/v2/config/jenkinsWann immer Sie etwas im main-Branch ändern, sollte ein Build in Jenkins ausgelöst werden.