Зависит от того, что вы действительно хотите сделать и каковы требования безопасности. Есть несколько вариантов. Самый простой - использовать команду копирования с UNC-путем для удаленного компьютера \\hostname\sharename\directory\actual.file
. Важно то, что на удаленном компьютере определен общий ресурс и разрешен доступ для записи (на уровне файлов и общих ресурсов) для пользователя, под которым работает hudson. Это также означает, что вы не можете запустить Hudson под учетной записью local_system. (опция по умолчанию, если вы запускаете Hudson как сервис)
На самом деле я бы предпочел robocopy
вместо copy
. Я думаю, что Microsoft предлагает Robocopy бесплатно. Изучите документацию (помощь) robocopy, это программа для администраторов, которые должны знать, что они делают. Robocopy не только надежен, если используется с неправильными переключателями, он также может «непреднамеренно» удалять файлы.
Другие варианты включают конфигурации SCP и FTP, Master \ Slave, где подчиненное устройство загружает артефакты из Гудзона с использованием протокола http / https protocoll.
EDIT:
комментарий от Вишу
Спасибо за ваш быстрый ответ. Как
ваш ответ объясняет, что у вас есть
хорошие знания в Гудзоне, я бы
хотел бы подробно изложить мое требование.
Мое требование, я люблю развертывать
Война на сервере Tomcat, расположенном удаленно
в другой машине windows через
Гудзон (война будет генерироваться в этом
машина) которая находится в другом
окна машины. К вашему сведению, оба окна
в той же сети или интранете. Один
больше вещей для развертывания Linux мы
используя плинк. Есть ли альтернатива
для развертывания Windows?
Я обычно развертываю на Websphere Application Server. Поэтому мне нужно было немного прочитать о , как выполнить развертывание на tomcat . Похоже, вам просто нужно сбросить wat-файлы в правильный каталог, и все готово или изменить файлы конфигурации, которые в данный момент используются tomcat, и он подберет их автоматически (при условии, что все настроено правильно).
Поскольку сценарий развертывания и ваши настройки очень просты, я бы рассмотрел два варианта. Я предпочитаю установить службу ssh на целевой машине Windows и повторно использовать ваши сценарии plink, которые у вас уже есть (для этого или других проектов). Идея здесь в том, чтобы придерживаться одной технологии. Другой вариант заключается в использовании общих ресурсов Windows. В этом случае убедитесь, что Hudson использует «реальную» учетную запись, чтобы Hudson не нужно было явно отображать общий ресурс (можно записать в сценарии, но пароли могут храниться в незашифрованном виде). Создайте общий ресурс в целевой системе с разрешением на запись для Hudson. В остальном ничто иное, как копия. Для копирования вы должны взглянуть на robocopy, так как он намного лучше для такого рода заданий, чем команда copy. Я предполагаю, что задание сборки выполняет развертывание.
Если у вас есть две работы, первая создает артефакты, а другая развертывает артефакты. В настоящее время я предпочитаю использовать wget для извлечения артефактов из job1. Это подразумевает, что job1 архивирует свои артефакты. Второе задание получает артефакты от первого (используя wget и URL-адрес запуска для job1). В этом случае вы можете запустить Hudson Slave на целевом компьютере и развернуть его локально. Вы можете использовать аналогичные скрипты для Windows и Linux. Вы можете получить Wget для Windows с Cygwin (по крайней мере, я так думаю). С cygwin вы даже сможете использовать свой скрипт Linux на Windows. Преимущество заключается в том, что вам не нужны общие ресурсы и отдельный репозиторий артефактов. Если вы запускаете ведомое устройство как службу, вам даже не нужно устанавливать ssh-сервер на целевой машине.
Если вы запускаете развертывание вручную, вы можете использовать плагин пакетной задачи .Это практически одна работа, и вам не нужно беспокоиться о перемещении артефактов между работами.Недостатком является то, что вы можете развернуть только из самого последнего запуска задания, так как это зависит от рабочей области задания.Развертывание более старых версий (если ваш проект поврежден прямо сейчас или вам нужно понизить версию из-за серьезной ошибки в вашем приложении) невозможно.
Если у вас уже есть репозиторий артефактов, используйте установку master-slaveи проверить артефакты из вашего хранилища на целевой машине.
Я мог бы придумать больше опций, которые будут становиться все более и более эзотерическими.В конце концов, вам нужно решить, что вам больше всего нравится и что проще всего внедрить и поддерживать, а также удовлетворяет ваши другие (второстепенные) требования (например, определенные ограничения безопасности).