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
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.
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.
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:
Upgrade to a newer version of git on the runner.
In .gitlab-ci.yml, use the option to git clone:
variables: GIT_STRATEGY: clone
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:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With