zoukankan      html  css  js  c++  java
  • 用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
  • 相关阅读:
    21.Merge Two Sorted Lists 、23. Merge k Sorted Lists
    34. Find First and Last Position of Element in Sorted Array
    leetcode 20. Valid Parentheses 、32. Longest Valid Parentheses 、301. Remove Invalid Parentheses
    31. Next Permutation
    17. Letter Combinations of a Phone Number
    android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
    oc 异常处理
    oc 类型判断
    oc Delegate
    oc 协议
  • 原文地址:https://www.cnblogs.com/gytangyao/p/10250624.html
Copyright © 2011-2022 走看看