web-dev-qa-db-fra.com

Déclencher des travaux dans gitlab-ci à la demande de fusion

Il est possible d'exécuter un travail à partir de gitlab-ci uniquement sur demande de fusion? Nous avons maintenant un grand projet monolithique avec des tests lourds, mais nous souhaitons uniquement exécuter le test avant de le fusionner avec le maître de branche.

13
Philippe Thiers

Eh bien, il n’est pas intégré actuellement, mais il n’est pas impossible de le faire vous-même. Gitlab permet de déclencher un travail. Il prend également en charge webhooks sur les demandes de fusion. Cependant, les webhooks ne supportent pas les variables dans les URI et les déclencheurs ne peuvent pas lire le corps de la requête. Vous devez donc créer un script qui agira comme un intermédiaire ici:

  1. Webhook sur les appels de demande de fusion à votre script
  2. Le script analyse la demande et appelle un déclencheur dans gitlab avec un REF correct
  3. Déclencheur exécute le travail marqué avec;

    seulement: -triggers

C'est un peu hacky mais cela fonctionne et facile à mettre en œuvre.

11
Jakub Kania

Pour le moment, non . Vous devez vous abonner au numéro pour voir si et quand ils seront disponibles (et si votre entreprise est une entreprise cliente, vous pouvez peut-être vous contacter pour demander de hiérarchiser la mise en œuvre)

4
rpadovani

C'est maintenant possible. Cela a été introduit dans GitLab 11.6.

1
Nicolas Pepinster