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
    
  • 相关阅读:
    .NET 图片解密为BASE64
    IIS&ASP.NET 站点IP跳转到域名
    http转https实战教程iis7.5
    接口传参几种方式
    Python3 字符串
    ASP.Net Core WebApi几种版本控制对比
    Docker 部署NetCore 接口(三)
    Docker关键概念和基本命令(二)
    Windows平台下kafka环境的搭建以及简单使用
    CentOS7 安装 Docker-CE(一)
  • 原文地址:https://www.cnblogs.com/s1nce/p/automatic_deployment_script.html
Copyright © 2011-2022 走看看