Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gitlab runner doesn`t work on a specific project

I registered 11 projects of GitLab runner. Runners of each project work fine except 1 project. First time I registered runner of this project, it works. But after I commit/push some changes, an error occurs and failed job. I saw some solutions that upgrading the git version solved a problem, but I don't think so. Because all of the runners work fine except this project.

Server OS: 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 

Second commit/pull, then

>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 

edit. here is my .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 
like image 726
Sungmin Park Avatar asked Jun 19 '19 08:06

Sungmin Park


People also ask

What type of runner can be used by any project GitLab?

Shared runners are available to every project in a GitLab instance. Use shared runners when you have multiple jobs with similar requirements. Rather than having multiple runners idling for many projects, you can have a few runners that handle multiple projects.

What type of runner can be used by any project?

A shared runner can run jobs for every project that has enabled the option Allow shared runners . Shared runners are useful for jobs that have similar requirements, between multiple projects.


1 Answers

There are a few options to fix this. The problem is the version of git on your runner is too old. And sometimes you can't update git on the runner.

Options to fix:

  1. Upgrade to a newer version of git on the runner.

  2. In .gitlab-ci.yml, use the option to git clone:

variables:   GIT_STRATEGY: clone 
  1. Configure Gitlab, change Git strategy for pipelines of the project to "git clone".

    3.1. In the Gitlab web gui,

    3.2. go to your project,

    3.3. then: "Settings -> CI / CD -> General pipelines".

    3.4. Change the options for:

    • "Git strategy for pipelines" to: "git clone"
    • "Git shallow clone" to: 0
like image 53
Ryan Daniels Avatar answered Sep 19 '22 16:09

Ryan Daniels