web-dev-qa-db-fra.com

gitlab runner ne fonctionne pas sur un projet spécifique

J'ai enregistré 11 projets de runner GitLab. Les coureurs de chaque projet fonctionnent bien sauf 1 projet. La première fois que je me suis inscrit coureur de ce projet, ça marche. Mais après avoir validé/poussé certaines modifications, une erreur se produit et le travail a échoué. J'ai vu des solutions pour lesquelles la mise à niveau de la version git a résolu un problème, mais je ne pense pas. Parce que tous les coureurs fonctionnent bien sauf ce projet.

Système d'exploitation du serveur: CentOS 7
git: 1.8.3.1

First time registered runner
>Running with gitlab-runner 11.9.2 (...)
  on (...)
Using Shell executor...
Running on localhost.localdomain...
Initialized empty Git repository in /home/gitlab-runner/(...)/.git/
Clean repository
Fetching changes with git depth set to 50...
Created fresh repository.
From https://gitlab.com/(...)
 * [new branch]      master     -> Origin/master
Checking out (...) as master...
Skipping Git submodules setup
$ echo "> gitlab-ci started"
> gitlab-ci started
$ cd /home/(..)
$ echo "> git pull started"
> git pull started
$ git pull
remote: Total 0 (delta 0), reused 0 (delta 0)
Already up-to-date.
Job succeeded

Deuxième commit/pull, puis

>Running with gitlab-runner 11.9.2 (...)
  on (...)
Using Shell executor...
Running on localhost.localdomain...
Reinitialized existing Git repository in /home/gitlab-runner/(...)/.git/
Clean repository
Fetching changes with git depth set to 50...
fatal: remote Origin already exists.
fatal: git fetch-pack: expected shallow list
ERROR: Job failed: exit status 1

éditer. voici mon .gitlab-ci.yml

stages:
- deploy

deploy_to_master:
  stage: deploy

  script:
  - echo "> gitlab-ci started"
  - cd /home/www/dir
  - echo "> git pull started"
  - git pull
  - echo "> permission set"
  - chmod 707 -R ./data/
  - chmod 707 -R ./plugin/Nice/
  - chmod 707 ./favicon.ico
  - echo "> server reload(=httpd -k graceful)"
  - systemctl reload httpd

  only:
  - master

  tags:
  - tags
6
Sungmin Park

J'ai fait un nouveau projet et, finalement, ça marche bien. Je ne sais pas pourquoi l'autre n'a pas fonctionné. Si les mêmes problèmes surviennent comme le mien, ne soyez pas trop sérieux: faites simplement un nouveau projet gitlab. C'est bon pour votre bien-être mental.

0
Sungmin Park

J'ai eu un problème similaire et j'ai dû mettre à jour Git. Centos 7 est livré avec git-1.8.x qui a des limites autour de gitlab-ci.

Mettez à jour votre git, basé sur ce guide.

0
betontalpfa

Vous pouvez contourner ce problème sans mettre à niveau git du tout:

1. Stratégie de clonage

Réglez dans .gitlab-ci.yml:

variables:
  GIT_STRATEGY: clone  

Désormais, chaque modification que vous apportez déclenchera un nouveau clonage du projet, évitant ainsi la commande problématique git fetch-pack.

2. Supprimez manuellement le répertoire du projet (non recommandé)

Supprimez manuellement le répertoire de construction du serveur gitlab-runner, il devra donc le cloner à nouveau.
Pour le projet testgroup/testproject, Exécutez:
attention aux commandes rm!

rm -rf /home/gitlab-runner/builds/UwnzuxxL/0/testgroup/testproject  

Notez qu'après le répertoire builds, vous avez une chaîne aléatoire qui sera différente de cet exemple.

0
Ofek Hod