zoukankan      html  css  js  c++  java
  • Jenkins持续集成(下)-Jenkins部署Asp.Net网站自动发布

    环境:Windows 2008 R2、Jenkins2.235.1、Visual Studio 2017;


    概要


      前面写过一篇文章,《自动发布-asp.net自动发布、IIS站点自动发布(集成SLB、配置管理、Jenkins)》,这个主要是用于投产环境运维平台自动发布的集成,对于前面的环节使用Jenkins构建包,并发布到测试环境并没有详细的说明,现在发文记录一下。

      分成两篇来写《Jenkins持续集成(上)-Windows下安装Jenkins》《Jenkins持续集成(下)-Jenkins部署Asp.Net网站自动发布》


    正文


    一、配置MSBuild与FTP;

      1、MSBuild:先在服务器上面安装Visual Studio 2017或更高版本,也可以单独安装MSBuild,不过为了方便调试,最好是直接安装VS。

        然后在Jenkins上面配置,打开“Manage Jenkins”-->“Global Tool Configuration”-->“MSBuild”,指定安装的MSBuild目录;

        

      2、FTP:在服务器上面安装FTP功能,然后在IIS上新建FTP站点(注意点:a、用户名注意不要用ftp,使用ftpuser这类,使用标准用户,不使用管理员;b、SSL认证 选择无;c、FTP身份验证 选择基本身份验证;d、FTP授权规则 选择指定用户,如:ftpuser)。

        然后在Jenkins上面配置,打开“Manage Jenkins”-->“Configure System”-->“Publish over FTP”,配置主机名,端口默认为21,可以点击“Test Configuration”进行测试;

        

    二、配置全局参数;

      为了快速配置任务,以及统一修改,建议任务构建里面的变量全部采用参数化来控制,涉及到统一的用全局参数来控制,如:SVN地址;

      在Jenkins上面配置,打开“Manage Jenkins”-->“Configure System”-->“全局属性”,勾选“Environment variables”,输入键值,键名称就是参数名;

      

    三、配置Asp.net构建任务 

      “新建Item“,输入任务名称,选择”流水线“或叫”工作流“任务,

      1、指定最大保留历史构建版本;

      

      2、指定任务自定义的工作空间,不指定则全部默认为系统统一路径,如果任务数太多并且没有做集群的情况下,建议把任务的工作空间分散在多个磁盘上,需要注意自定义工作空间的路径,不要跟系统的安装路径一样,否则可能安装目录下面的文件被删掉。

      

      3、配置SVN分支选择下拉;

      

      

      效果如下:  

      

      4、配置源代码路径:

      

      5、配置MSBuild构建参数:
        /t:Rebuild
        /p:VisualStudioVersion=15.0
        /p:DeployOnBuild=true
        /p:LastUsedBuildConfiguration=Debug
        /p:LastUsedPlatform="Any CPU"
        /p:WebPublishMethod=FileSystem
        /p:LaunchSiteAfterPublish=True
        /p:ExcludeApp_Data=False
        /p:DeleteExistingFiles=True
        /p:WPPAllFilesInSingleFolder=${WORKSPACE}uilduild_test1_A_10001

        注意:p:WPPAllFilesInSingleFolder,表示把文件生成到指定文件夹,为了后面能够利用FTP把文件传过去,这里必须为工作空间下面的路径,如:D:JenkinsWorkspaceAB est1_A_10001_test_OrderProcessAPIdefaultdefault;  

      

      6、把文件夹进行压缩,以便FTP进行传输;

        

      7、配置FTP传输;

      

      8、解压文件夹,切换IIS目录,重启站点、浏览测试页;

        这几步我是通过自己写了一个接口给Jenkins去调用实现,好像还有一些现成的工具可以用,不过感觉这个自己写比较灵活,可以自由定制;

      

      9、构建后归档:

      

      

      所有变量均用参数化控制,每个不同的任务,直接采用复制其他任务,然后修改参数默认值即可;

       

    欢迎转载,请标明出处,谢谢!
  • 相关阅读:
    JS知识点整理
    CSS3疑难问题---6、伪类和伪元素的区别
    人物志---宋霭龄
    范仁义js课程---4、js基本注意点
    legend3---24、软件更新的时候记得保留上两个版本的软件和数据
    心得体悟帖---200215(被动录课效率太低了)
    Java中迭代列表中数据时几种循环写法的效率比较
    Win10
    Java字符串的最大长度
    Android Application对象必须掌握的七点
  • 原文地址:https://www.cnblogs.com/tihb666/p/13469162.html
Copyright © 2011-2022 走看看