Jenkins: Развертывание и обновление Java (и других) в Windows - PullRequest
0 голосов
/ 24 октября 2018

Я бы хотел использовать Jenkins для развертывания / обновления программ на удаленном сервере Windows (не всегда одной и той же версии).Под «программами» я подразумеваю java, tomcat, ActiveMQ и некоторые исполняемые файлы сервера (.exe).

Чтобы обновить некоторые из них, мне нужно остановить соответствующую службу, развернуть обновленный исполняемый файл и перезапустить службу (например, tomcat).Некоторые другие просто должны быть установлены на удаленном компьютере без запроса (например, обновление Java с версии 8 до 9).

Проблема в том, что я не уверен, как настроить Jenkins для выполнения этих работ на удаленных окнахокружающей среды, и я не уверен, что будет лучшим способом сделать это.

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Так же, как @sharpslinger сказал, что Powershell - подходящий инструмент для этой работы.Я бы пошел на Powershell DSC.Полезные ресурсы DSC в вашем случае:

Для запуска / остановки службы используйте Сервисный ресурс :

Service ServicesStop
{
    Name = "TheTestService"
    State = "Stopped"
}

Для развертывания исполняемого файла вы можете использовать Файловый ресурс :

File CopyMyExe 
{ 
    Ensure = "Present" 
    Type = "File" 
    SourcePath = "MySource.jar"
    DestinationPath = "MyDestination.jar"
}

Для автоматической установки Java вы можете использовать Ресурс скрипта .Источник приведенного ниже примера: ссылка .

# This allows the reboot
LocalConfigurationManager
{
    RebootNodeIfNeeded = $true
}

Script Java
{
    GetScript  = { return @{} }
    TestScript = { return Test-Path 'HKLM:\SOFTWARE\JavaSoft\Java Runtime Environment' }
    SetScript  = {   
        $installer = "jre-8u144-windows-x64.exe"
        Start-Process $installer -ArgumentList '/s' -Wait
        # signal reboot
        $global:DSCMachineStatus = 1
    }
}

Задачей Дженкинса будет просто вызвать скрипт Powershell, который развертывает ваше приложение.

0 голосов
/ 24 октября 2018

Jenkins может запускать Powershell - один из самых простых способов внесения изменений в Windows.Вы можете использовать командлеты Start-Service или Stop-Service для управления службами.

Для установки на основе сценариев я выберу Chocolatey , что позволяет вамустановить почти все.

Например, после установки вы можете использовать эту простую команду для установки Java:

choco install jdk8
...