• 第一次实践CI(Continuous Integration)


    背景:我做测试工作,但有一类工作就是将svn中的程序部署到测试环境,以前我可以自己控制发布频次,但是当工程师也需要使用测试站调试时,就需要配合工程师反复发布测试站,特别是当同时测试多个项目时,这类工作就会占用我很多时间,所以有了持续集成的想法:是不是可以,点击一下按钮,程序就会自动部署到测试站?

     当然可以,实践之路如下:

    1、下载安装jenkins及MSBuild

    jenkins:https://jenkins.io/download/

    MSBuild2015:https://www.microsoft.com/en-us/download/details.aspx?id=48159

    2、安装(省略)

    3、新建项目

    3.1 输入任意任务名称,选择自由风格的软件项目,点击确定,项目默认创建在 {安装目录}workspace下

    3.2 点击配置,配置svn

    3.3 点击配置,选择构建

     3.3.1 增加构建步骤,Execute Windows batch command,目的是自动下载项目引用的包文件,nuget.exe 下载后放置任意目录即可

     

    3.3.2 增加构建步骤:Build a Visual Studio project or solution using MSBuild,目的是编译项目,并发布到指定文件夹,.pubxml为发布配置文件

    3.4 点击配置,选择构建后操作,将发布后的内容传到测试服务器

    3.5 返回项目首页,点击“立即构建”,开始构建项目,如果一切顺利,将看到一个蓝色的小圆点,并且项目也发布到对应的测试服务器

    但是现实总是残酷的,在上面的步骤中,失败的N多次,总结下来有以下几点:

    • 程序中会用到office组件,所以服务器必须安装office(word、excel即可)
    • 上述过程中的路径要设置正确,否则会提示找不到
    • 在设置路径过程中,一定要注意大小写问题,jenkins设置区分大小写
    • 编译过程中,会提示引用的dll不存在,手动将项目依赖的dll拷贝到jenkins服务器即可,需要根据错误信息定位拷贝到哪里,比如下面的错误,就需要拷贝到C:Program Files (x86)Reference AssembliesMicrosoftFrameworkv3.5下面

    并且在同事的帮助下,了解了两个插件:Active Directory plugin和Publish Over CIFS

    Active Directory plugin用于域账号集成

    设置完成后,就可以用域账号登陆jenkins了,非常简单

    Publish Over CIFS主要是传输文件,类似FTP,优势在于,不用搭建服务器,使用域账号的权限来同步文件

    使用此功能,需要在系统设置中,预先配置文件要传输到哪里

    遗留问题:

    其实步骤3.3.2中,可以直接将项目发布到服务器上,而省略步骤3.4,但是在发布项目的时候,web.config文件是不能被覆盖的,而步骤3.4可以设置排除某个文件或文件夹,步骤3.3.2不能设置排除某个文件

    如果有哪位大侠知道更简单的设置方案,欢迎留言

  • 相关阅读:
    JavaScript Eval 函数使用
    WPFToolkit Calendar & DatePicker 使用介绍
    Windows Mobile 6.5 配置环境,数据库访问,部署简单实例
    ThreadPool.QueueUserWorkItem 方法 (WaitCallback)
    Windws Mobile 6.5 Professional ADO.NET数据访问
    WPF调用Web Services
    c#中Interface的理解
    PagesSection.MaintainScrollPositionOnPostBack 属性
    EclipseRCP中文语言包版本不一致,导致导出错误
    SWT美化开源控件网站
  • 原文地址:https://www.cnblogs.com/tjtest/p/8022313.html
Copyright © 2020-2023  润新知