阻止 Octopus 运行 部署脚本

Prevent Octopus from Running a Deployment Script

我正在部署一个包含 deploy.ps1 文件的包。正如您已经知道的,Octopus 默认是 running this script on deploying,我想防止它发生,而是 运行 一个自定义脚本。

你能把脚本移动到子文件夹吗?

These scripts must be located in the root of your package

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

或者 - 如果您的 deploy.ps1 脚本永远不会被部署,请不要将其包含在部署包中。

如果您有这样的需求,那么最好将启动服务的 powershell 移动到单独的构建步骤,然后将您想要该脚本的触手标记为 运行。

在服务的部署步骤中,将启动模式设置为 "Manual"

然后有一个启动服务的步骤,并将该脚本的范围限定为您想要自动启动的环境/服务器

我这里使用的步骤模板代码是

{
  "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"
  }
}

您可能需要修改步骤模板,因为它将服务设置为 "Automatic - Delayed",然后启动服务。