OpenConnect «должен быть запущен от имени пользователя root» в Gitlab CI / CD - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь заставить мою Непрерывную Доставку работать и впоследствии загружать двоичные файлы на сервер компании, который доступен только через VPN-соединение.

Проблема в том, что каждый раз, когда я пытаюсь это сделать, я получаю следующую ошибку:

Connected as 158.196.194.120 + 2001:718:1001:111::7/64, using SSL
DTLS handshake timed out
DTLS handshake failed: Resource temporarily unavailable, try again.
Failed to bind local tun device (TUNSETIFF): Operation not permitted
To configure local networking, openconnect must be running as root
See http://www.infradead.org/openconnect/nonroot.html for more information
Set up tun device failed
Unknown error; exiting.

Странно то, что мой код явно использует sudo в .gitlab-ci.yml, поэтому я ожидаю, что он будет иметь все права.

deploy_spline:
    stage: deploy
    image: martinbeseda/lib4neuro-ubuntu-system-deps:latest
    dependencies:
        - test_spline
    before_script:
        - echo "DEPLOY!"
        - apt-get -y install lftp openconnect sudo
    script:
        - mkfifo mypipe
        - export USER=${USER}
        - echo "openconnect -v --authgroup VSB -u ${USER} --passwd-on-stdin vpn.vsb.cz < mypipe &" > vpn.sh
        - chmod +x vpn.sh
        - sudo ./vpn.sh
        - echo "${PASS}">mypipe
        - lftp -u ${USER},${PASS} sftp://moldyn.vsb.cz:/moldyn.vsb.cz/www/releases -e "put build/SSR1D_spline.out; exit"

Итак, вы знаете, что не так с моим кодом? Или это какая-то проблема с GitLab CD?

...