J'ai enfin réussi à le faire fonctionner de sorte que lorsque vous appuyez sur un travail de branche commence à être lancé, mais j'attends son lancement environ 3 minutes, puis j'ai des erreurs que je dois corriger, puis commettre à nouveau, puis attendre encore. Comment puis-je simplement SSH à ce coureur public et tester la partie "script" de .gitlab-ci.yml juste dans le bash?
Vous pouvez exécuter des générations localement (si vous contrôlez le coureur) en utilisant la commande gitlab-runner exec
comme décrit dans la documentation officielle ici .
Assurez-vous également de vérifier les limitations des tests de travail de cette manière.
gitlab-runner
Sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-AMD64
Sudo chmod +x /usr/local/bin/gitlab-runner
Docs officiels de gitlab-runner ici
Le fichier .gitlab-ci.yml
suivant définit une tâche nommée build
:
build:
script:
- echo "Hello World"
gitlab-runner exec Shell build
Lorsque j'exécute ce qui précède localement, j'obtiens le résultat suivant:
Running with gitlab-runner 11.3.1~beta.4.g0aa5179e (0aa5179e)
Using Shell executor...
Running on cory-klein.local...
Cloning repository...
Cloning into '/Users/coryklein/code/prometheus-redis-exporter/builds/0/project-0'...
done.
Checking out 66fff899 as master...
Skipping Git submodules setup
$ echo "Hello World"
Hello World
Job succeeded
Pour mémoire: Vous pouvez également copier coller votre gitlab-ci.yml dans le formulaire linter fourni par gitlab.
Selon le IDE que vous utilisez, vous pourrez peut-être trouver des plug-ins qui en vérifieront la validité. Par exemple, dans VS Code, vous pouvez utiliser un plugin appelé gitlab-vscode-extension qui peut valider votre fichier .gitlab-ci.yml.
La bonne réponse est que vous ne pouvez pas tester votre pipeline de construction sans valider le code source dans votre référentiel. Vous ne pouvez tester qu'un seul travail - probablement le premier emploi - de votre pipeline de construction avec gitlab-runner exec.
Étant donné que vous ne pouvez pas exécuter plusieurs tâches, vous ne pouvez chaîner aucune étape de préparation ou de construction avec quoi que ce soit d'autre. Il n’existe aucun moyen d’empêcher gitlab-runner de créer une extraction propre et de détruire vos étapes de préparation/construction.
Le meilleur/seul moyen de tester est de créer une branche et de continuer à forcer les modifications apportées à .gitlab-ci.yml.