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
    
  • 相关阅读:
    RFID学习
    [从jQuery看JavaScript]-变量与作用域链
    Javascript中最常用的61个经典技巧[转]
    再读《被神化的框架》
    jquery动态分页
    如果你不知道这11款常见的Web应用程序框架 就说明你out了
    [从jQuery看JavaScript]-匿名函数与闭包
    [从jQuery看JavaScript]-注释(comments)
    周末大礼:jQuery技巧总结
    jQuery Form插件详解
  • 原文地址:https://www.cnblogs.com/s1nce/p/automatic_deployment_script.html
Copyright © 2011-2022 走看看