0

Je suis novice dans ce domaine de l'intégration continue. Je veux utiliser Jenkins comme système CI, mais je n'arrive pas à le faire à chaque fois qu'il y en a un nouveau. En utilisant le greffon de mercurial, je peux me connecter à mon dépôt et récupérer mes builds normalement, mais je ne veux pas que Jenkins continue d'interroger, je veux qu'il mette à jour la compilation seulement quand il y en a une nouvelle. Sur le wiki de plug-in, j'ai trouvé ceci:Synchroniser TortoiseHG avec Jenkins

de la version 1.38 il est possible de déclencher les builds grâce pousser notifications au lieu du scrutin. Dans votre fichier .hg de dépôt/hgrc ajouter:

[hooks] 

    commit.jenkins = wget -q -O /dev/null <jenkins root>/mercurial/notifyCommit?url=<repository remote url> 
    incoming.jenkins = wget -q -O /dev/null <jenkins root>/mercurial/notifyCommit?url=<repository remote url> 

Pour l'instant je garde Jenkis local, donc j'utilisé ce o mon fichier hgrc:

commit.jenkins = wget -q -O /dev/null http://localhost:8080/mercurial/notifyCommit?url=<my repository remote url> 
incoming.jenkins = wget -q -O /dev/null http://localhost:8080/mercurial/notifyCommit?url=<my repository remote url> 

Mais builds ne sont pas être déclenché. Quelqu'un pourrait-il m'aider?

[UPDATE]

Je ne faisais pas attention à la commande wget, qui n'existe pas sur les fenêtres. Installé et c'est toujours pareil. Jenkins ne tire pas les builds.

+2

commettez-vous sur Linux ou Windows? –

+2

Wind0ze n'a pas wget par défaut –

+0

Oh, c'est Windows. Désolé, haha! Est-ce que j'utilise cygwin pour résoudre ce problème? – Pedro

Répondre

1
  1. Vous devez d'avoir wget sur le chemin (je recommande le port natif de GOW, et non Cygwin - ou Bash Win10)
  2. Vos crochets doivent être en état de fonctionnement
  3. wget ... doit produire le résultat escompté

vous avez trois maintenant deux points d'échec possibles et doivent tester tous indépendamment


  • Est-ce que mes crochets fonctionnent?

Remplacez votre contenu actuel de crochets avec billette muet comme

commit.jenkins = echo Commit hook here 
    incoming.jenkins = echo Incoming hook here 

et crochets tests (dans console pour une meilleure visibilité) en exécutant commit en repo avec crochet ajoutée et tirer | pousser dessus | dégrouper tout. Si vous voyez la sortie du crochet - ils sont utilisables

  • Est-ce que l'intégration Jenkins fonctionne?

engager Après vous repo pouvez effectuer des tâches de crochet à la main: exécuter wget -q -O /dev/null ... et vérifier les résultats dans Jenkins

+0

A fait exactement ce que vous m'avez dit. Maintenant, les crochets fonctionnent correctement. Mais quand wget est exécuté, le message de console indique "/ dev/null: aucun tel dossier ou répertoire". – Pedro

+1

@PedroCorso - '/ dev/null' est * Nix blackhole uniquement. Win-version - 'nul:' –

+0

a travaillé comme un charme! Merci pour l'aide! – Pedro