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
    
  • 相关阅读:
    2021.10 db2转换openGauss个人工作总结及心得
    cpu 超过100%,我的排查步骤
    记美团一面,凉凉~
    Eureka挂掉,服务之间能否正常调用?
    jpa中的常用关键字
    Linux修改文件目录所属用户和组
    linux 下如何查看端口占用?
    windows 下如何查看端口占用情况?
    docker学习网站
    api接口文档生成,无需其他配置一键生成基于文本注释
  • 原文地址:https://www.cnblogs.com/s1nce/p/automatic_deployment_script.html
Copyright © 2011-2022 走看看