Bereitstellung von Pelikan durch Gitlab CI

400
Paulo Matos

Ich habe einen Gitlab-CI-Docker-Job eingerichtet, um einen Pelikan-Blog mit rsync + ssh bereitzustellen. Das Problem ist die Authentifizierung.

Dafür habe ich ein SSH-Schlüsselpaar erstellt. Sie wurden dem Gitlab-Projekt als geheime Variablen hinzugefügt und der öffentliche Schlüssel wurde als Authorized_key auf dem Deployment Server hinzugefügt. Im Bereitstellungsjob kopiere ich den geheimen Schlüssel nach /root/.ssh/id_rsaund versuche dies rsyncjedoch mit:

rsync -e "ssh -p 22" -P -rvzc --delete /builds/www/site/output/ root@mydomain:/var/www/blog --cvs-exclude Host key verification failed. rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1] 

Der Bereitstellungsjob ist wie folgt definiert:

image: ubuntu:latest  variables: GIT_SUBMODULE_STRATEGY: recursive  deploy: tags: - linux only: - production before_script: - apt-get update -qq && apt-get install -y -qq rsync python3 python3-venv python3-wheel python3-dev make gcc libssl-dev openssh-client - python3 -m venv site-venv - source site-venv/bin/activate - pip install --upgrade pip - pip install -r requirements.txt - mkdir -p $HOME/.ssh - echo $ID_RSA > $HOME/.ssh/id_rsa - echo $ID_RSA_PUB > $HOME/.ssh/id_rsa.pub script: - make publish - make deploy 

Warum wird der Schlüssel nicht akzeptiert? Der Docker-Container verfügt über den öffentlichen und den privaten Schlüssel, der Server über den öffentlichen Schlüssel in authorisierten Schlüsseln. Gibt es ein Detail, das mir fehlt?

0
Sie sollten die Ausführlichkeit auf die maximale Stufe erhöhen, um zu sehen, was los ist. --debug = alle Bruno9779 vor 6 Jahren 0

0 Antworten auf die Frage