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
  • 相关阅读:
    开启和禁用Wifi热点命令
    C# IE代理操作
    Asp.net QueryString批量插入和更新
    Asp.net 插入或更改查询字符串
    C#如何判断线程池中所有的线程是否已经完成之Demo
    mysql 安装及设置密码
    c# iis回收应用程序池
    判断是否为移动端
    rtmp,m3u8 直播地址
    byte数组转换为字符串
  • 原文地址:https://www.cnblogs.com/gytangyao/p/10250624.html
Copyright © 2011-2022 走看看