jenkins+ssh+Putty构建windows的IIS服务发布
使用Jenkins+ssh+Putty发布windows IIS服务
下面是使用Jenkins、SSH和PuTTY实现Windows IIS服务发布的步骤:
- 在构建服务器上安装Windows SSH服务、PuTTY和7-Zip软件。
- 在部署服务器上也安装Windows SSH服务和7-Zip软件。
- 在构建服务器上使用批处理命令执行编译,并生成发布物文件。
- 将发布物文件压缩成ZIP文件。
- 使用批处理命令将ZIP文件上传到部署服务器,并将其解压缩到Windows IIS服务指定的目录。
你可以按照以下步骤进行操作:
1、 在构建服务器上安装Windows SSH服务。你可以使用OpenSSH for Windows或其他可用的SSH服务器软件。确保配置正确并启动SSH服务。
安装完成后,可以通过 “sc query sshd”
来查看ssh服务是否开启;
2、在构建服务器上安装PuTTY和7-Zip软件。你可以从官方网站下载并安装它们。
3、在部署服务器上安装Windows SSH服务。同样,你可以使用OpenSSH for Windows或其他可用的SSH服务器软件。确保配置正确并启动SSH服务。
4、在部署服务器上安装7-Zip软件。你可以从官方网站下载并安装它。
5、在构建服务器上使用批处理命令执行编译,并生成发布物文件。你可以根据你的项目和构建工具的要求编写相应的批处理脚本。
我们项目使用c#开发的,相应的批处理编译命令如下:
cd %~dp0
call "%VS150COMNTOOLS%VsDevCmd.bat"
set solutionsFile="%~dp0Example.sln"
echo first parameter is %1
echo second parameter is %2
REM 注释掉sonar扫描功能
REM SonarScanner.MSBuild.exe begin /k:"AppName" /n:"AppName" /v:%1
"C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuild15.0Binmsbuild.exe" /t:Build /p:Configuration=%2 %solutionsFile% /m
REM SonarScanner.MSBuild.exe end
pause
6、将生成的发布物文件压缩成ZIP文件。使用7-Zip的命令行工具(7z.exe)执行以下命令:
7z.exe a -r -tzip Release.zip <发布物路径>
确保将<发布物路径>替换为实际的发布物文件或目录的路径。
7、使用批处理命令将ZIP文件上传到部署服务器,并将其解压缩到Windows IIS服务指定的目录。你可以使用PuTTY的命令行工具(plink.exe)执行以下命令:
#上传文件到服务器
pscp -pw <密码> Release.zip %USERNAME%@%SERVER%:%REMOTE_PATH%
#解压Relase.zip文件到IIS服务器的指定目录
plink.exe -batch -pw <密码> <用户名>@<部署服务器IP> "C:PROGRA~17-Zip7z.exe" x -y Release.zip -o <IIS服务指定目录>
确保将<密码>、<用户名>、<部署服务器IP>和<IIS服务指定目录>替换为实际的凭据和路径。
记之。