2016-10-07 3 views
1

Я развертываю пакет, содержащий файл deploy.ps1. Как вы уже знаете, Octopus running this script on deploying по умолчанию, я хочу, чтобы это не происходило, и вместо этого запускайте собственный скрипт.Предотвращение запуска Octopus сценария развертывания

+0

Зачем вам это нужно и можете ли вы переименовать файл сценария? – Kye

+0

В моей ситуации Deploy.ps1 запускает все службы в моем пакете по цели развертывания. Это поведение по умолчанию одинаково для большинства целевых серверов, кроме одного, где нужно только запустить одну из служб. Вместо этого я хочу использовать собственный скрипт. – acai

+0

Не было бы более чистым подходом к удалению скрипта 'deploy.ps1' из этого конкретного проекта и, скорее, запустить сценарий powershell развертывания на самом этапе Octopus? –

ответ

1

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

Process view

В вашем шаге развертывания для службы, установите режим запуска в «Manual»

Service Start

Тогда есть шаг, который запускает службу, и объем, что сценарий к окружающей среде/серверов, которые вы хотите автоматического запуска

enter image description here

Код для ступенчатого шаблона Я использую здесь

{ 
    "Id": "ActionTemplates-1", 
    "Name": "Enable and start service", 
    "Description": null, 
    "ActionType": "Octopus.Script", 
    "Version": 8, 
    "Properties": { 
    "Octopus.Action.Package.NuGetFeedId": "feeds-builtin", 
    "Octopus.Action.Script.Syntax": "PowerShell", 
    "Octopus.Action.Script.ScriptSource": "Inline", 
    "Octopus.Action.RunOnServer": "false", 
    "Octopus.Action.Script.ScriptBody": "$serviceName = $OctopusParameters[\"ServiceName\"]\n\nwrite-host \"the service is: \" $serviceName\n\n& \"sc.exe\" config $serviceName start= delayed-auto\n& \"sc.exe\" start $serviceName\n\n" 
    }, 
    "Parameters": [ 
    { 
     "Name": "ServiceName", 
     "Label": "Service Name", 
     "HelpText": null, 
     "DefaultValue": null, 
     "DisplaySettings": { 
     "Octopus.ControlType": "SingleLineText" 
     } 
    } 
    ], 
    "$Meta": { 
    "ExportedAt": "2016-10-10T10:21:21.980Z", 
    "OctopusVersion": "3.3.2", 
    "Type": "ActionTemplate" 
    } 
} 

Вы можете изменить шаблон шага, как он будет установить услугу «Автоматический - Delayed», а затем запустить службу.

1

Можете ли вы переместить сценарий в подпапку?

These scripts must be located in the root of your package

http://docs.octopusdeploy.com/display/OD/Custom+scripts

В качестве альтернативы - не включают в свой deploy.ps1 скрипт в пакете развертывания, если он никогда не должен быть развернут.

enter image description here