Winform Jenkins ClickOnce打包,基于.net FramWork4.8

背景:winform客户端基于.NET Framwork4.8,并且基于Msbuild命令进行ClickOnce打包。在Linux下,Msbuild无法使用,且无法安装.NET Framwork4.8,于是Jenkins部署在Window Server上

1.在Windows服务器安装Jenkins,并启动。安装教程百度,建议安装新版本

 

2.在windows服务器采用vs_BuildTools.exe (https://download.visualstudio.microsoft.com/download/pr/655265af-cd2f-4919-97b2-3198ac560526/72224eda2843205f7b6abbbd93da8426d05f25571f8a02b4915a6d61cbbf1b13/vs_BuildTools.exe)  安装特定组件  .NET Framwork4.8和ClickOnce工具  

3. 根据官方文档  https://learn.microsoft.com/zh-cn/visualstudio/deployment/how-to-include-prerequisites-with-a-clickonce-application?view=vs-2022   需要先将必备组件安装到Jenkins服务器指定路径

   1.将自己电脑上面 C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX48 下的NDP48-x86-x64-AllOS-ENU.exe  拷贝到服务器相同路径下。

   2.将D:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Microsoft\VisualStudio\BootstrapperPackages\WebViewRuntime 下的MicrosoftEdgeWebView2RuntimeInstallerX86.exe和Product.xml  拷贝到服务器E:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VisualStudio\BootstrapperPackages\WebViewRuntime 下。

 

4.登录Jenkins,安装插件 Build With Parameters   Git client plugin  Git Parameter Plug-In  Git plugin  GitLab  GitLab API Plugin  MSBuild Plugin  SSH server 等插件,可能会安装失败,失败时可以自己手动下载安装包进行安装。下面有手动安装的截图

 

 

 

 

5.配置Jenkins工具 MSbuild 

 

 

 

6.在Jenkins创建一个FreeStyle风格的项目,

设置git分支参数

 

 

设置版本参数

 

 

配置源码管理,

 

 

git凭证需要先去Jenkins凭证管理进行配置,

7.构建步骤

  1.Execute Windows batch command

@echo off
echo "%appversion%"
rmdir /s /q "E:\Jenkins_Publish\SPC-Analysis-DEV\AnalysisLaunch\%appversion%"

  2.Build a Visual Studio project or solution using MSBuild

/t:restore
/t:Publish
/p:Configuration=Release
/p:ApplicationVersion=${appversion}
/p:OutputPath=E:\Jenkins_Publish\SPC-Analysis-DEV\AnalysisLaunch\${appversion}\

 

  3. Execute Windows batch command

复制代码
@echo off
setlocal

set "target_path=E:\Jenkins_Publish\SPC-Analysis-DEV\AnalysisLaunch\%appversion%\app.publish\Application Files\"
 
for /d %%i in ("%target_path%\*") do (
    echo %%~nxi
    set updateDir=%%~nxi
)
 
set zipOutPutFile=%target_path%%updateDir%.zip
set sourcePath=%target_path%%updateDir%
 
"C:\Program Files\7-Zip\7z.exe" a -t7z "%zipOutPutFile%" "%sourcePath%" -r
 
endlocal
echo zip Done.
复制代码

 8 构建成功,后续把更新包通过ssh发送到Linux应用服务器

 

posted @   增删改查都不会  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示