Я хочу сделать очень простую вещь с DSC (Desired State Configuration):
Остановите службу Windows, разверните файлы и, наконец, снова запустите службу. Таким образом, у меня было следующее:
Service ServicesStop
{
Name = "TheTestService"
State = "Stopped"
}
File CopyDeploymentBits
{
Ensure = "Present"
Type = "Directory"
Recurse = $true
SourcePath = $applicationPath
DestinationPath = $deployOutputPath
}
Service ServicesStart
{
Name = "TheTestService"
StartupType = "Automatic"
State = "Running"
}
Но, к сожалению, это не работает, так как нельзя дважды использовать одно и то же имя (Name = "TheTestService") в конфигурации (почему? имеет смысл) в качестве обходного пути я пробовал что-то вроде этого
Configuration MyTestConfig {
Node $env:COMPUTERNAME {
Service ServicesStop
{
Name = "TheTestService"
State = "Stopped"
}
File CopyDeploymentBits
{
Ensure = "Present"
Type = "Directory"
Recurse = $true
SourcePath = $applicationPath
DestinationPath = $deployOutputPath
}
}
}
Configuration MyTestConfig2 {
Node $env:COMPUTERNAME {
Service ServicesStart
{
Name = "TheTestService"
StartupType = "Automatic"
State = "Running"
}
}
}
MyTestConfig
MyTestConfig2
Выглядит безумно - но это работает!
К сожалению, я не использую простой DSC, я использую его с Microsoft Release Management, и здесь кажется, что MyTestConfig2 больше не выполняется (или что-то еще идет не так, что не упоминается в журналах ).
Как я могу реализовать этот простой сценарий с помощью dsc в контексте управления выпусками? Или есть еще лучший способ сделать что-то подобное?