【问题标题】:Psake - Running same task multiple timesPsake - 多次运行相同的任务
【发布时间】:2014-06-30 08:05:35
【问题描述】:

我正在为我们的网站创建一个构建/部署脚本。我们的流程目前有点复杂,因为它需要使用 webconfig 设置启动网站来更新我们的架构。然后我们关闭站点,更改 webconfig 不再更新架构,然后重新启动。

由于任务的重复性,我们的 -taskList 几个任务不止一次。

例如。

Invoke-Psake (Join-Path $env:currentDir "\tasks\iis_app_deploy.ps1") `
-taskList ValidateProperties,StopApplicationPool,<random stuff>,StartApplicationPool,StopApplicationPool,StartApplicationPool,PutBackInLoadBalancer

在此任务列表中,每个任务只执行一次。有什么方法可以指定 psake 来运行任务而不检查它们之前是否运行过?

【问题讨论】:

    标签: deployment psake


    【解决方案1】:

    我找到了自己问题的答案。 嵌套

    这些是步骤;

    1. 将部署过程分成更小的步骤(在我的例子中是两个)
    2. 创建包装任务
    3. 在其中使用 Invoke-Psake 使其工作。

    这是一个示例代码;

    task BackendDeployment -depends     ValidateProperties{
        # Deploy and update schema
        $self = Join-Path ($env:scriptPath) "tasks\iis_app_deploy.ps1"
        Write-Output "Running schema changes"
        Invoke-Psake $self  -TaskList   StopApplicationPool,`
                                        MSDeploy,`
                                        CopyLicenses,`
                                        CopyConfigs,`
                                        UpdateConfigForSchemaChanges,`
                                        StartApplicationPool,`
                                        WarmUpApplications, `
                                        WaitForAction `
                            -properties $properties
        Write-Output "Running final deployment"
        Invoke-Psake $self -TaskList    StopApplicationPool,`
                                        CopyConfigs,`
                                        StartApplicationPool,`
                                        WarmUpApplications `
                            -properties $properties
    }
    

    【讨论】:

      猜你喜欢
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 2014-09-14
      • 2016-02-12
      • 1970-01-01
      相关资源
      最近更新 更多