jenkins+ssh+Putty构建windows的IIS服务发布

使用Jenkins+ssh+Putty发布windows IIS服务

下面是使用Jenkins、SSH和PuTTY实现Windows IIS服务发布的步骤:

  1. 在构建服务器上安装Windows SSH服务、PuTTY和7-Zip软件。
  2. 在部署服务器上也安装Windows SSH服务和7-Zip软件。
  3. 在构建服务器上使用批处理命令执行编译,并生成发布物文件。
  4. 将发布物文件压缩成ZIP文件。
  5. 使用批处理命令将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服务指定目录>替换为实际的凭据和路径。

记之。