Зависит от того, что вы на самом деле хотите сделать, и какие требования к безопасности. Существует несколько вариантов. Самый простой способ - использовать команду копирования с 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 сервер, расположенный удаленно в другой машине окна через Хадсон (война будет генерироваться в этой машине), которая расположена в другой машине окна. FYI. Оба окна: в той же сети или intranet.One больше вещей для развертывания Linux мы с использованием plink. Есть ли альтернатива для развертывания Windows?
Обычно я использую сервер приложений Websphere. Поэтому мне нужно было немного почитать по адресу how to deploy to tomcat. Похоже, вам просто нужно сбросить файлы wat в нужный каталог, и вы закончите или измените файлы конфигурации, которые в настоящее время используются tomcat, и он автоматически подберет его (при условии, что все настроено правильно).
Поскольку сценарий развертывания и ваша установка очень просты, я бы рассмотрел два варианта. Мое предпочтение в том, чтобы установить службу ssh на целевую машину Windows и повторно использовать ваши скрипты plink, которые у вас уже есть (для этого или других проектов). Идея заключается в том, чтобы придерживаться одной технологии. Другой вариант - использовать общие ресурсы Windows. В этом случае убедитесь, что Хадсон использует «реальную» учетную запись, так что Хадсону явно не нужно сопоставлять общий ресурс (можно писать по сценарию, но пароли могут быть сохранены в незашифрованном виде). Создайте общий ресурс в целевой системе с разрешением на запись для Hudson. Чем остальное - не что иное, как копия.Для копии вы должны взглянуть на robocopy, поскольку она намного превосходит работу такого типа, чем команда копирования. Мое предположение заключается в том, что задание сборки выполняет развертывание.
В случае, если у вас есть две работы, первая создает артефакты, а другая развертывает артефакты. В настоящее время я предпочитаю использовать wget для извлечения артефактов из job1. Это означает, что job1 архивирует свои артефакты. Второе задание получает артефакты из первого (используя wget и URL-адрес запуска для job1). В этом случае вы можете запустить ведомое устройство Hudson на целевом компьютере, и вы можете развернуть его локально. Вы можете использовать похожие скрипты для Windows и Linux. Вы можете получить wget для windows с cygwin (по крайней мере, я так думаю). С помощью cygwin вы даже сможете использовать свой linux-скрипт для окон. Преимущество состоит в том, что вам не нужны акции и нет отдельного репозитория артефактов. Если вы запускаете ведомое устройство как услугу, вам даже не нужно устанавливать ssh-сервер на целевую машину.
Если вы запускаете развертывание вручную, вы можете использовать batch task plugin. Чем это практически одна работа, и вам не нужно беспокоиться о перемещении артефактов между заданиями. Недостатком является то, что вы можете выполнять развертывание только с самого последнего запуска работы, поскольку он зависит от рабочей области задания. Развертывание старых версий (если ваш проект нарушен прямо сейчас или если вам нужно понизить рейтинг из-за серьезной ошибки в вашем приложении), это невозможно.
Если у вас уже есть хранилище артефактов, используйте настройку главного подчиненного устройства и проверьте артефакты из вашего репозитория с целевой машины.
Я мог придумать больше вариантов, которые станут все более и более эзотерическими. В конце концов, вам нужно решить, что вам больше всего нравится, и что проще всего реализовать и поддерживать, а также удовлетворяет ваши другие (второстепенные) требования (например, определенные ограничения безопасности).
'copy sourcefile targetfile'? Я думаю, вам нужно быть более конкретным о том, как эти компьютеры Windows связаны друг с другом, существуют ли какие-либо сетевые ресурсы и т. Д. –