evanlucas / gcr

A node gitlab-ci-runner
MIT License
51 stars 12 forks source link

It can't hook back to gitlab-ci, because gitlab-ci returns a 500 #21

Open renemeye opened 8 years ago

renemeye commented 8 years ago

I am using a real simple .gitlab-ci.yml file for a simple deployment. I got two problems and I am not sure if they are related.

  1. gcr can't checkout the repository stderr fatal: reference is not a tree: e3b686f6d6a3aedefba9b6dde23ab09edc71bb72
  2. It can't hook back to gitlab-ci, because gitlab-ci returns a 500

.gitlab-ci.yml:

job1:
  script: "ssh to@another.server; cd /to/a/path; git pull"

gcr is running in foreground. Here is the output with log level silly:

gcr verb [client] no builds found
gcr info [client] checking for builds...
gcr http 201 https://server.url/ci/api/v1/builds/register.json
gcr verb [builder] cmd [ 'reset', '--hard' ]
gcr info [client] submitting build 6 to coordinator...
gcr verb [client] update build 6 running
gcr http PUT https:/server.url/ci/api/v1/builds/6.json
gcr verb [response] {"message"=>"500 Internal Server Error"}
gcr http 500 https://server.url/ci/api/v1/builds/6.json
gcr verb [builder] cmd [ 'clean', '-fdx' ]
gcr info [client] submitting build 6 to coordinator...
gcr verb [client] update build 6 running
gcr http PUT https://server.url/ci/api/v1/builds/6.json
gcr verb [response] {"message"=>"500 Internal Server Error"}
gcr http 500 https://server.url/ci/api/v1/builds/6.json
gcr verb [builder] cmd [ 'remote',
gcr verb [builder]   'set-url',
gcr verb [builder]   'origin',
gcr verb [builder]   'https://gitlab-ci-token:foobar@server.url/gropu/project.git' ]
gcr info [client] submitting build 6 to coordinator...
gcr verb [client] update build 6 running
gcr http PUT https://server.url/ci/api/v1/builds/6.json
gcr verb [response] {"message"=>"500 Internal Server Error"}
gcr http 500 https://server.url/ci/api/v1/builds/6.json
gcr verb [builder] cmd [ 'fetch', 'origin' ]
gcr info [client] submitting build 6 to coordinator...
gcr verb [client] update build 6 running
gcr http PUT https://server.url/ci/api/v1/builds/6.json
gcr verb [response] {"message"=>"500 Internal Server Error"}
gcr http 500 https://server.url/ci/api/v1/builds/6.json
gcr verb [builder] cmd [ 'checkout', 'e3b686f6d6a3aedefba9b6dde23ab09edc71bb72' ]
gcr sill [builder] stderr fatal: reference is not a tree: e3b686f6d6a3aedefba9b6dde23ab09edc71bb72
gcr sill [builder]
gcr info [client] submitting build 6 to coordinator...
gcr verb [client] update build 6 failed
gcr http PUT https://server.url/ci/api/v1/builds/6.json
gcr verb [response] {"message"=>"500 Internal Server Error"}
gcr http 500 https://server.url/ci/api/v1/builds/6.json
gcr ERR! [runner] build failed [6]
gcr info [client] checking for builds...
gcr http 404 https://server.url/ci/api/v1/builds/register.json
gcr verb [client] no builds found

Could you give me some pointers please?

renemeye commented 8 years ago

Update. The empty repository (1) seems to be this problem: https://gitlab.com/gitlab-org/gitlab-ce/issues/2727 I will try fix this tonight.

The problem 2 (It can't hook back to gitlab-ci, because gitlab-ci returns a 500) still exists.

evanlucas commented 8 years ago

I'm not really sure that this is an issue in gcr. It looks to be more of an issue with gitlab-ci? Is it sending incorrect data to trigger the 500 status code?