当前位置:   article > 正文

Jenkins通过Publish Over SSH插件远程部署war包到windows操作系统的tomcat上使用的Powershell脚本

Jenkins通过Publish Over SSH插件远程部署war包到windows操作系统的tomcat上使用的Powershell脚本
E:
cd E:\app\tomcat\

# 预先设定要操作的文件地址、端口变量
$sourceFile = "E:\app\tomcat\update\myProject.war"
$targetFile = "E:\app\tomcat\webapps\ROOT.war"
$dateTime = Get-Date -Format 'yyyyMMddHHmmss'
$renameFile = "E:\app\tomcat\update\myProject_$dateTime.war"
$port = ":8080"

# 先判断要发布的文件是否存在
if (test-path $sourceFile) {
    Copy-Item $sourceFile $targetFile
    Write-Host $sourceFile' has success copy to '$targetFile
} else {
    Write-Host $sourceFile 'Files is not Exist!'
    exit
}

# 按端口找到tomcat(java)进程ID(pid)
$str = netstat -ano|findstr $port
$list = $str.Split('\n'); 
for ($i=0;$i -lt $list.Length; $i++) {
    $item_list = [System.Text.RegularExpressions.Regex]::Split($list.Get($i).Trim(), '\s+')
    for ($j=0;$j -lt $item_list.length; $j++) {
        if ($list.Get($i).contains($port)) {
            $p_id = $item_list.Get(4)
            Write-Host '$p_id'+$p_id
            break;
        }
    }
}

if($p_id -eq $null) {
    Write-Output $port 'port is free'
} else {
    Write-Output $port 'port is be used:'
    Get-Process -id $p_id
    Stop-Process -id $p_id
    Write-Host 'kill '$port' process success'
}

#清空webapps目录和work目录
Function emptyDir($TargetFolder) {
    $Files = get-childitem $TargetFolder -force
    Foreach ($File in $Files) {
	    $FilePath=$File.FullName
	    Remove-Item -Path $FilePath -Recurse -Force
    }
    return 1;
}
$isEmpty1 = emptyDir webapps
$isEmpty2 = emptyDir work

# 移动部署war到部署目录
if($isEmpty1 -eq "1" -and $isEmpty2 -eq "1") {
    Copy-Item $sourceFile $targetFile
    Write-Host $sourceFile' has success copy to '$targetFile
}
sleep -Seconds 5

# 启动tomcat
.\bin\startup.bat
sleep -Seconds 5

# 后续操作:修改暂存目录中的发布包名称
rename-Item $sourceFile -NewName $renameFile
Write-Host $sourceFile ' has success renamed '$renameFile
exit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69

注:该脚本在win10操作系统powershell5.1环境下测试可用
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/262227?site
推荐阅读
相关标签
  

闽ICP备14008679号