zoukankan      html  css  js  c++  java
  • [SharePoint 2013] Automatic deployment script

    Implement automatic deployment through windows task.

    Add-PsSnapin Microsoft.SharePoint.PowerShell
    
    $today = Get-Date
    $targetDir = $today.ToString("yyyyMMdd")
    $executeDir = "folder path"
    $executeDir += $targetDir + ""
    
    $webURL = "http://server"
    $subject = "Automatic Deployment Finished."
    $tos = "xxx@xx"
    $body = "Solutions deploy successfully.<br/>"
    $errorMsg = ""
    $sendingEmail = $true
    
    if((Test-Path $executeDir) -eq $true){
        
        $ps1s = Get-ChildItem -Path ($executeDir + "*.ps1")
        
        if($ps1s.Count -gt 0){
            
            foreach($ps1 in $ps1s){
                
                Invoke-Expression ($executeDir + $ps1.Name)
            }
            
            $deployingWSPs = GET-SPSolution | Where-Object {$_.JobExists -eq $true}
            
            While($deployingWSPs -ne $null -and $deployingWSPs.Count -gt 0){
                Start-Sleep -Seconds 600
                
                $deployingWSPs = GET-SPSolution | Where-Object {$_.JobExists -eq $true}
            }
            
            $deployingWSPs = GET-SPSolution | Where-Object {$_.Deployed -eq $true -and ($_.LastOperationEndTime - $today).Days -eq 0 -and $_.LastOperationResult.ToString() -like "*Failed*" }
            
            if($deployingWSPs -ne $null -and $deployingWSPs.Count -gt 0){
                $errorMsg += "Exception occur during deployment, please check in CA.<br/>"
            }
            
            if($error.Count -gt 0){
                $errorMsg += "Exception occure during parse command.<br/>"
                $errorMsg += $error[$error.Count - 1].Exception.Message
            }
            
            if($sendingEmail -eq $true){
                $web = Get-SPWeb $webURL
                if($errorMsg.Length -gt 0){
                    $body = $errorMsg
                }
                [Microsoft.SharePoint.Utilities.SPUtility]::SendEmail($web, $true, $false, $tos, $subject, $body)
                
                $web.Dispose()
            }
        }
    }
    
    exit
    
  • 相关阅读:
    组件映射
    联合主键关联
    一对一单向双向主键关联
    7函数
    forEach与map
    3运算符与表达式
    作用域声明提升
    php程序设计 1,2章节
    angularJs(3)过滤器
    angularJs(1)指令篇
  • 原文地址:https://www.cnblogs.com/s1nce/p/automatic_deployment_script.html
Copyright © 2011-2022 走看看