zoukankan      html  css  js  c++  java
  • Jenkins构建基于.NET Framework的web程序

    之前写了一篇Jenkins+gogs发布的基础文章。这篇博客是基于之前的文章写的。

    之前文章地址:https://www.cnblogs.com/cluyun/p/10848989.html

    所以阅读以下文章你需要有Jenkins+git的基础构建的知识。

    这次主要是写如何用Jenkins构建基于.NET Framework的web应用程序。

    一.  先决条件

    安装顺序 名称 下载地址 备注
    1 .NET Framework Developer Pack https://dotnet.microsoft.com/download/visual-studio-sdks 下载安装你要编译的项目的版本。如果安装的时候提示已经安装更高的版本啥的就不要管了。
    2 .NET Framework Runtime
    3 Visual Studio MSBuild https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

    没错就是下载Visual Studio,如果想省事就直接把vs装在服务器上吧。不想的话就复制本机的

    "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"(vs安装目录)

    目录下的"MSBuild"和"Team Tools"两个文件夹到服务器的相同目录下吧。

    4 Visual Studio Team Tools
    5 NuGet https://www.nuget.org/downloads 这个是用来下载你项目中引用的包的。下载好了后把exe放到你觉得合适的地方就好了,不用双击运行。

     

    二. 配置Jenkins

    先安装插件MSBuild

    在全局工具配置里面配置MSBuild,然后点击保存。

     解释下这里的参数:

    • Name:这个名字随便写,到后面项目构建的时候要根据这个名字选择。
    • Path to MSBuild:vs安装目录中MSBuild.exe的所在路径。

    三. 在构建项目中使用

    先创建项目

    点击确定

    配置好git

    增加构建步骤,"执行windows批处理命令"和"Build a Visual Studio project or solution using MSBuild"

     

      执行windows命令就是还原nuget包,命令格式为:nuget.exe地址 restore 项目文件.sln

      Build a Visual Studio project or solution using MSBuild 中的参数含义:

    •   MSBuild Version:选择你之前在全局配置里面弄好的
    •   MSBuild Build File:写你项目中的.csproj文件的路径
    •   Command Line Arguments:要执行的MSBuild命令

        介绍下MSBuild命令

             官方文档:https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild

             我这里说下我使用的:

    1. /t:Rebuild:重新生成
    2. /p:Configuration=Release:Release 生成模式
    3. /p:VisualStudioVersion=15.0:指定子工具集版本,不设置会报错。(VS2015是14.0,VS2017是15.0)
    4. /p:DeployOnBuild=True;PublishProfile="pubxml文件名":使用.pubxml 发布文件来发布项目
    5. /p:publishUrl="存放路径":构建完成后的整个编译后项目文件存放地。

      这里尤其应该注意的是这个pubxml文件,默认应该在"/Properties/PublishProfiles"文件夹下。但是默认项目好像是没有的。

      所以这个时候,要手动生成了如果你用过vs自带的发布就应该会,在vs中右键web项目然后点击发布,发布完了后,"/Properties/PublishProfiles"文件夹下就会出现.pubxml文件了。

      最后把.pubxml文件上传到git就好。如果你不想我说的这么麻烦,可以直接在"/Properties/PublishProfiles"文件夹下新建FolderProfile.pubxml,然后在里面写我下面的内容,最后上传到git也行。

    <?xml version="1.0" encoding="utf-8"?>
    <!--
    此文件由 Web 项目的发布/打包过程使用。可以通过编辑此 MSBuild 文件
    自定义此过程的行为。为了解与此相关的更多内容,请访问 https://go.microsoft.com/fwlink/?LinkID=208121。 
    -->
    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <WebPublishMethod>FileSystem</WebPublishMethod>
        <PublishProvider>FileSystem</PublishProvider>
        <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
        <LastUsedPlatform>Any CPU</LastUsedPlatform>
        <SiteUrlToLaunchAfterPublish />
        <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
        <ExcludeApp_Data>False</ExcludeApp_Data>
        <publishUrl>bin\Release\Publish</publishUrl>
        <DeleteExistingFiles>False</DeleteExistingFiles>
      </PropertyGroup>
    </Project>

    这里我要解释下publishUrl这个节点,这个节点就是发布后的文件存放地,但是我觉得这个写服务器路径不太好,所以在命令行里面写了。

    命令行里面的参数应该是会覆盖这个节点里面写的。所以按照命令行里面的路径去发布了。

    最后,保存就可以了。然后在外面构建即可。

    感谢以下链接给我的帮助:

      https://www.cnblogs.com/huhubun/p/6345077.html

      https://blog.csdn.net/sD7O95O/article/details/82504547

  • 相关阅读:
    Oracle自增ID实现
    mysql5修改用户密码及远程访问
    关于线程中修改UI的控件属性
    Javascript 保持浮动位置
    Linq To Entity 查询条件扩展
    反转字符顺序
    VB6.0 二分法解方程
    支持库:FileHelper
    C# 计算加减乘除
    Linq.GroupBy使用示例
  • 原文地址:https://www.cnblogs.com/cluyun/p/11180750.html
Copyright © 2011-2022 走看看