Большинство репозиториев моих частных проектов размещаются в частном репозитории на gitlab.com (размещенном решении, а не частном сервере gitlab). Сайты размещены на цифровом VPS.Gitlab.com CI не может подключиться к серверу SSH
Я хочу использовать gitlab CI для каждой фиксации на ветке develop
, автоматически развернутой на тестовом сервере. Поскольку у меня уже есть клон репозитория на этом тестовом сервере, самый простой способ автоматического развертывания, похоже, подключен gitlab-ci к серверу ssh и запускает git pull.
gitlab-ci.yml
У меня есть (ssh before_script скопировано из http://docs.gitlab.com/ce/ci/ssh_keys/README.html).
deploy to test:
environment: test
only:
- develop
before_script:
# Install ssh-agent if not already installed, it is required by Docker.
# (change apt-get to yum if you use a CentOS-based image)
- 'which ssh-agent || (apt-get update -y && apt-get install openssh-client -y)'
# Run ssh-agent (inside the build environment)
- eval $(ssh-agent -s)
# add ssh key stored in SSH_PRIVATE_KEY variable to the agent store
- ssh-add <(echo "$SSH_PRIVATE_KEY")
# disable host key checking (NOTE: makes you susceptible to man-in-the-middle attacks)
# WARNING: use only in docker container, if you use it with shell you will overwrite your user's ssh config
- mkdir -p ~/.ssh
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
script:
# Try and connect to the test server
- ssh [myname]@[mydomain.com] "cd /var/www/test.[projectname].com/ && git pull"
В результате фиксации на develop
в gitlab трубопроводов:
$ ssh [myname]@[mydomain.com] "cd /var/www/test.[projectname].com/ && git pull"
Warning: Permanently added '[mydomain.com],[255.255.255.255]' (ECDSA) to the list of known hosts.
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
ERROR: Build failed: exit code 1
У меня есть секретный ключ моего локального пользователя на моем ноутбуке добавляется к SSH_PRIVATE_KEY
переменной на gitlab. Закрытый ключ должен работать, так как я могу подключиться к серверу с моего ноутбука, не предоставляя пароль.
У кого-нибудь есть это, как можно подключиться к серверу ssh через рабочий стол gitlab.com?
Hi @vityrus, вам удалось подключиться с помощью SSH и выполните команда на удаленном хосте? – BigDong