Gitlab-ci alpine image: сбой проверки ключа хоста - PullRequest
1 голос
/ 19 марта 2019

В gitlab я создаю свою работу с maven image , затем копирую jar на ssh-сервер -> он работает нормально.

Для проекта php я стараюсь использовать alpine image . Но я получаю отказ с ' Ошибка проверки ключа хоста '.

Сервер и ключ совпадают.

Не работает :

image: alpine:latest
stages:
  - deploy
deploy:
  before_script:
    - apk add --update openssh-client bash
    - eval $(ssh-agent -s)
    - bash -c 'ssh-add <(echo "$SSH_PRIVATE_KEY")'
  stage: deploy
  script:
    - ssh root@devsb01 "ls"

Рабочая :

  image: maven:3.6.0-jdk-10-slim
   stages:
      - deploy
   deploy:
      before_script:
        - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
        - eval $(ssh-agent -s)
        - ssh-add <(echo "$SSH_PRIVATE_KEY")
        - '[[ -f /.dockerenv ]] && mkdir -p ~/.ssh && echo "$KNOWN_HOST" > ~/.ssh/known_hosts'
        - mkdir -p ~/.ssh
        - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
      stage: deploy
      script:
        - ssh root@devsb01 "ls"

Я думаю, что это связано с тем, как добавить ключ ssh.

1 Ответ

0 голосов
/ 20 апреля 2019

попробуйте добавить тезисы в две строки:

- mkdir ~/.ssh
- ssh-keyscan -t rsa devsb01 >> ~/.ssh/known_hosts

У меня это работает!

Ваш файл будет выглядеть так:

image: alpine:latest
stages:
  - deploy
deploy:
  before_script:
    - apk add --update openssh-client bash
    - eval $(ssh-agent -s)
    - bash -c 'ssh-add <(echo "$SSH_PRIVATE_KEY")'
    - mkdir ~/.ssh
    - ssh-keyscan -t rsa devsb01 >> ~/.ssh/known_hosts
  stage: deploy
  script:
    - ssh root@devsb01 "ls"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...