Я установил свою установку gitlab из исходного кода, защитил ее с помощью letsencrypt и развернул под https://gitlab.mydomain.com. Я могу получить доступ к веб-сайту и создать репозитории и т.д., но я не могу найти способ зарегистрировать gitlab ci runner для установки.

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
https://gitlab.mydomain.com/ci
Please enter the gitlab-ci token for this runner:
xxxxxxxx-xxxxxxxx
Please enter the gitlab-ci description for this runner:
[server]: test
Please enter the gitlab-ci tags for this runner (comma separated):
test
ERROR: Registering runner... failed     runner=xxxxxxx 
status=couldn't execute POST against https://gitlab.mydomain.com/ci/api/v1/runners/register.json:
Post https://gitlab.mydomain.com/ci/api/v1/runners/register.json: 
read tcp [ipv6address]:33518->[ipv6address]:443: read: connection reset by peer
PANIC: Failed to register this runner. Perhaps you are having network problems

Моя система gitlab работает нормально, и у меня действительно закончились объяснения, почему может быть connection reset by peer. Когда я пытаюсь скрутить адрес напрямую из сообщения об ошибке, он возвращает правильный ответ.

curl -v https://gitlab.mydomain.com/ci/api/v1/runners/register.json
*   Trying ipv6address...
* Connected to gitlab.mydomain.com (ipv6address) port 443 (#0)
* found 174 certificates in /etc/ssl/certs/ca-certificates.crt
* found 700 certificates in /etc/ssl/certs
* ALPN, offering h2
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_256_GCM_SHA384
*        server certificate verification OK
*        server certificate status verification SKIPPED
*        common name: mydomain.com (matched)
*        server certificate expiration date OK
*        server certificate activation date OK
*        certificate public key: RSA
*        certificate version: #3
*        subject: CN=mydomain.com
*        start date: Wed, 18 May 2016 14:35:00 GMT
*        expire date: Tue, 16 Aug 2016 14:35:00 GMT
*            issuer: C=US,O=Let's Encrypt,CN=Let's Encrypt Authority X3
*        compression: NULL
* ALPN, server did not agree to a protocol
> GET /ci/api/v1/runners/register.json HTTP/1.1
> Host: gitlab.mydomain.com
> User-Agent: curl/7.47.0
> Accept: */*
> 
< HTTP/1.1 405 Method Not Allowed
< Server: nginx
< Date: Sun, 29 May 2016 09:14:09 GMT
< Content-Type: application/json
< Content-Length: 2
< Connection: keep-alive
< Allow: OPTIONS, POST
< Cache-Control: no-cache
< Status: 405 Method Not Allowed
5
Jonas 29 Май 2016 в 15:21

4 ответа

Лучший ответ

Проблема исчезла после обновления gitlab до 8.8.3 и gitlab-multi-ci-runner до последней версии.

Я также начал свои файлы конфигурации gitlab nginx с нуля.

В конце концов, я не могу сказать, какое именно изменение решило проблему.

0
Jonas 4 Июн 2016 в 18:06

Я решил это установкой gitlab-ci-multi-runner=1.11.1.

0
sɐunıɔןɐqɐp 21 Май 2018 в 09:33

У меня было много ошибок и проблем, начиная с ошибок 404, 403 и заканчивая проблемами с почтовым запросом.

Мне кажется, проблема в несовместимости между GitLab и ci-runner.

Решением, как и в случае с публикацией, была установка более старой версии ci-runner:

sudo apt install gitlab-ci-multi-runner=1.11.1

0
Jan 28 Мар 2017 в 19:52

Если бегун и gitlab работают на одном и том же хосте, вы можете обойти эту проблему, введя в первый вопрос следующий вместо того, что указано в документации:

http://gitlab:port

Где gitlab - имя контейнера, а порт - номер левого порта контейнера. Если вы используете внутренние ssl-сертификаты gitlab, вы указываете https вместо http. Это всегда решает эту проблему, когда я ее получаю.

2
wendellmva 2 Ноя 2018 в 22:31