用jenkins编译WPF程序并传输到服务器

环境准备:

1.ide   visual studio2017 Enterprise,Ide可以https://visualstudio.microsoft.com/zh-hans/downloads/下载

   注意

  A.如果使用了不通版本的vs,请在后续的构建脚本中作出相应更改

  B.在安装时,请确保选择了.NET桌面开发

2.jenkins,请从https://jenkins.io/download/ 进行下载

3.winrar 安装在C:Program FilesWinRAR

4.其他应该了解的

A.请在jenkins安装在windows主机上,linux上是不能构建的.因为经典的.net framework不能运行在linux上

B.本示例是将工程的输出目录放在了解决方案src目录下,分别取名为Debug和Release

jenkins的必要配置

1.git的安装,百度下一步就ok

2.Publish Over FTP,用于将生成的安装包和更新包放置到ftp服务器

3.为什么不用msbuild插件编译,因为msbuild无法编译vdproj

另外你如果用.netframework4 下的msbuild编译,你可能会收到nameof无法解析之内的错误...

创建jenkins工程

1.新建任务,输入工程名称,选择 构建一个自由风格的软件项目  模板来添加一个构建任务

2.git 配置,这个按照代码仓库的地址和认证模式配置即可.如果没有安装git,这里会提示找不到git.exe

3.为了避免出现各种操蛋的问题,建议在每次构建前清空工作空间

4.添加一个执行windows批处理条目,用于执行nuget还原

请确保在你的解决方案根目录有nuget.exe(可从网上下载,然后放到对应位置即可)

如果你的项目中有自定义的nuget包,请添加一个nuget.config,并配置号对应的源

最终的项目目录应该是类似这样的:

nuget.config的配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
        <add key="www.007008.fun" value="http://www.007008.fun:7789/nuget/Default/" />
    </packageSources>
</configuration>

最后输入下面的批处理命令,你的项目就可以在编译时还原nuget包了

nuget.exe locals global-packages -clear
nuget.exe restore

5.以下是整个构建脚本

这里使用rar压缩了输出路径下的目录下的文件作为更新包

使用Advanced Installer 命令行进行了安装包的自动构建

echo "正在还原程序包..."
nuget.exe locals global-packages -clear
nuget.exe restore

echo "正在设置环境变量..."
set devnev=C:Program Files (x86)Microsoft Visual Studio2019PreviewCommon7IDEdevenv.com
set advinst=C:Program Files (x86)CaphyonAdvanced Installer 14.9inx86advinst.exe
set SolutionName=lamic-pc-v4.sln
set ConfigurationPlatform=Release^|x86
set Configuration=Release
set rar=%ProgramW6432%WinRARwinrar.exe
set OutputPath=%WORKSPACE%src\%Configuration%
set UpdatePackagePath=%WORKSPACE%update_packagesupdate.zip
set Setup=%WORKSPACE%srcSetupSetup.aip


echo "开始使用devenv.com编译程序..."
"%devnev%" "C:Program Files (x86)Jenkinsworkspace\%JOB_NAME%\%SolutionName%" /ReBuild "%ConfigurationPlatform%"



echo "正在写入BUILD_NUMBER..."

echo %BUILD_NUMBER%>>"%WORKSPACE%src\%Configuration%version"


echo "开始删除无用的目录和文件..."
del "%WORKSPACE%src\%Configuration%*.pdb"


echo "开始创建更新包..."
"%rar%" a -ep1 -r "%UpdatePackagePath%" "%OutputPath%"

echo "开始构建安装包"
"%advinst%" /rebuild "%Setup%"

7.添加一个构建后的操作,用于将更新包和安装包传输到FTP上

请尽量按照自己期望的生活 email:18980489167@189.cn
原文地址:https://www.cnblogs.com/gytangyao/p/10250624.html