I would like to view this page in
Иногда при выполнении сборки требуется подключаться к другим машинам: например, если вы хотите запустить скрипт развертывания на удаленной машине через SSH.
Давайте посмотрим, как это сделать.
Протокол Secure Shell (SSH) широко используется в самых разных целях благодаря своей безопасности, гибкости и эффективности. Вот несколько причин использовать SSH:
В меню Edit configuration | Build Steps можно посмотреть все шаги сборки.
Допустим, вам нужно добавить шаг сборки с использованием командной строки для выполнения развертывания. При этом TeamCity подключается к удаленному серверу через SSH и выполняет несколько команд на этом сервере: например, скачивает файл из Amazon S3 и исполняет его. Чтобы установить подключение по SSH, нужно указать SSH-ключ.
Вопрос в следующем: как добавить SSH-ключ в билд-агент, если его нет в сохраненном образе агента?
Нам нужно исключить шаг с использованием командной строки. Для этого откройте раскрывающийся список Runner type. В нем вы увидите два пункта: SSH Exec и SSH Upload.
SSH Exec is convenient for when you want to execute something on a remote machine. SSH Upload полезен для безопасной загрузки файлов на сервер.
Выбираем вариант SSH Exec и добавляем целевое устройство и команды для раннера.
В списке Authentication method — несколько вариантов источников SSH-ключа.
Uploaded key: ключ загружен на сервер TeamCity. Сервер его шифрует, отправляет в билд-агент для выполнения сборки, а после завершения сборки удаляет.
Default private key и Custom private key: выбирайте этот вариант, если закрытый ключ по умолчанию установлен в определенном месте билд-агента.
Можно также выбрать сочетание имени пользователя и пароля или даже использовать запущенный SSH-агент. Подробнее о SSH Exec читайте в документации.
В нашем случае мы используем вариант Uploaded key. Зададим имя пользователя teamcity-deploy, а пароль опустим. Теперь загружаем SSH-ключ.
Для этого перейдите в Buildpipelines project | SSH Keys. и выберите закрытый ключ для сервера. Нажмите Upload SSH Key и выберите файл на своем компьютере.
Затем вернитесь в меню Build steps | SSH Exec и выберите загруженный закрытый ключ. Нажмите Save и запустите сборку.
По завершении сборки откройте журнал (Build Log), и вы увидите результат выполнения шага SSH Exec. Здесь мы видим, что была выполнена команда, указанная в конфигурации шага сборки. Кроме того, будет показан результат выполнения команды echo ‘running deploy.sh...’
.
Вот и все!
Из урока вы узнаете, как использовать TeamCity для запуска скриптов командной строки, которые лежат в основе пайплайнов сборки.
В этом уроке рассматривается работа с артефактами в TeamCity для получения данных из сборки.
TeamCity включает в себя множество функций, которые могут повысить эффективность сборки. В этом уроке рассказывается, как использовать определенные билд-раннеры и для чего это может понадобиться.