Say У меня есть репо, что я хотел бы CircleCI развернуть после завершения тестовой последовательности и код следующим образом:Deploy на сервер с CircleCI и SCP
deployment:
staging:
branch: master
commands:
- scp -r wp-content/plugins/timespan [email protected]:public_html/wp-content/plugins
Это работает локально, потому что я установил необходимо выполнить аутентификацию. Но с CircleCI этого контекста нет, поэтому он запрашивает пароль, который я не могу ввести, имея его на следующей строке, то есть - passw0rd
.
Итак, я пробовал пару других вещей без успеха: 1) добавление ключа ssh в Circle, и он отвергает это, говоря, что они не поддерживают зашифрованные ключи. 2) Я попытался использовать sshpass, но не смог добавить его в качестве зависимости из-за того, что не знал, как и какой менеджер пакетов использовать для его ввода.
Возможно, кто-нибудь может просветить меня? Я не думаю, что это слишком далеко, но что-то не хватает.
Спасибо! Итак, мое понимание sshpass, et al. несколько эволюционировал, и я могу использовать ssh в терминале с помощью '- sshpass -p 'password' ssh [email protected]', но теперь не знаю, как запускать команды оттуда. Постановка «git pull origin master» после этого не запускается. Мысли? а следующий уровень объединяет несколько команд, так что я могу выполнять checkout, merge и другие git-операции одним выстрелом. Благодаря! – Daniel
Я бы использовал SSH-ключи. Вы хотите запустить «git pull origin master» на удаленном сервере? Jush, используя SSH (и SSH-ключи), вы можете сделать это: 'ssh [email protected]" git pull origin master "'. Или, если у вас есть несколько команд для запуска, я бы поместил их все в скрипт на удаляемом узле, а затем запустил скрипт с помощью команды SSH. – FelicianoTech