Jenkins: HTTP full-duplex channel timeout

Автор: | 03/15/2019
 

При подключении к Jenkins с помощью Jenkins CLI — оно завершается с ошибкой.

Т.е. в консоли ничего не выводится, но если после подключения выполнить echo $?, что бы вывести код последней команды — то там был, кажется, 255 ответ. Происходило пару дней тому, не записал в черновик.

Подключение выглядит так:

java -jar jenkins-cli.jar -auth admin:pass -s https://ci.example.com/ version

А в логах Jenkins-а — ошибки вида:

Mar 13 13:36:00 jenkins-production docker-compose[31411]: jenkins_1  | Mar 13, 2019 1:36:00 PM hudson.init.impl.InstallUncaughtExceptionHandler lambda$init$0
Mar 13 13:36:00 jenkins-production docker-compose[31411]: jenkins_1  | WARNING: null
Mar 13 13:36:00 jenkins-production docker-compose[31411]: jenkins_1  | java.io.IOException: HTTP full-duplex channel timeout: 1686b472-6d0b-467b-b26b-ca990999c4c5

Решение нагуглилось тут>>>: помогло отключение буферизации — proxy_request_buffering и proxy_buffering:

...
    location / {
        proxy_http_version 1.1;
        proxy_request_buffering off;
        proxy_buffering off;

        proxy_redirect          off;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto   $scheme;
        proxy_pass http://jenkins$request_uri;
    }
...

Повторяем запрос:

java -jar jenkins-cli.jar -auth admin:pass -s https://ci.example.com/ version
2.150.3

Готово.