jenkins持续构建
来源:互联网 发布:江西网络问政 编辑:程序博客网 时间:2024/05/02 04:31
系统持续集成是一个好东西。可是一旦发布的程序,不能构建或是构建后发现功能不是正常的,就不是很好了。这里说说这段时间的构建吧。
先说说这几天出的问题吧。这也是项目之初的共性
代码问题
1在svn上checkout的代码就有错误。造成编译不通过
- 1.1这种问题多为增删文件没有整体提交代码,造成文件局部不存在,但是整体还在。
- 1.2 没有整体编译代码,造成上传错误代码
- 1.3 类库版本不一致,造成编译解决方案冲突
以上三种是基本的构建失败常用的问题。
2 缺少三方依赖包和项目中其他DLL
然后构建成功,并不代表我们的程序正常运行。还得看功能是否正常。这就涉及到类库的引用是否正常了。这里我们将第三方公用包和自己封装的类库使用了NuGet管理包进行了管理,创建了一个packages包,安装我们的类库就自动引入dll放在了packages中,在上传package到svn中,这样程序构建就在packages中查找引用了。当然对于一些如通过反射的dll就需要使用构建后的命令自动拷贝了。下面我们就来做个示范吧
如系统基本架构图
总体包括的有IBLL,IDAL,WEB,和一些工厂。所以构建的时候需要将DAL,BLL以及DALFActory,BLLFacotry中的DLL打包到Web层中。所以就需要将他们的生成路径放入到WEB层,这个在vs中是完全没有问题的。而在 Jenkins构建中,刚开始没有想到构建这些所有项目。当发现构建成功时,任务项目基本是没有问题。当访问功能时却发现数据都没有现象,当在web调试时发现远程调用方法出现问题
查看生成的dll缺少DAL,DALFacotry,是个严重的问题。于是就增加了构建项目,构建项目也不能生成到发布到web层呀
基本的思路是
- 1 构架其他工程文件将dll生成到源码总。
- 2 将源码中的dll使用bat文件拷贝到发布的项目中
- 3 将所有的依赖dll都放入packge中,引用packge中dll
这样一来,就不会去别去查找,也不依赖系统中的dll了,避免缺失。效果图
构建BLL层和DAL层
构建DALFacotry和Web层服务
构建其他解决方案中的Client端 和添加dll拷贝批处理命令
批处理文件命令,注意文件路径最好不要有空格,否则Jenkins不识别该命令。该命令是将源码中的dll拷贝到发好的文件中的bin下
bat文件可以查看上篇文章
拷贝的dll
小结:
jenkins编译是只编译依赖项目中的dll或(引用中的dll),所以向DAl这些不是直接引用的,就需要自己想办法去生成了。之所有没有在这些文件下输出文件,就像要将这些dll生成到源码中,然后直接复制。基本的思路就结束了,希望对大家有所理解。
- jenkins持续构建
- Jenkins持续构建
- Jenkins 持续集成构建
- Jenkins 持续构建的使用
- RF+Jenkins构建持续集成
- Jenkins 持续构建的使用
- 谈谈对Jenkins持续构建的认识
- Jenkins和Maven构建持续集成
- Jenkins + Github持续集成构建Docker容器
- Jenkins持续集成构建Docker容器
- Docker结合Jenkins的持续构建实践
- 使用jenkins持续构建、部署SpringBoot项目
- Jenkins GIT Maven 构建持续发布环境
- 持续集成~Jenkins构建dotnetCore的项目
- [Jenkins] Jenkins配置IOS持续环境,构建出现IDEArchivePathOverride问题!
- 构建基于Jenkins+Git+Grails持续集成环境
- 构建基于Jenkins + Github的持续集成环境
- Windows下Android项目搭建Jenkins持续构建+自动化测试
- 32位汇编语言学习笔记(45)--测试简单文件操作接口(完)
- Linux Barrier IO
- HDU1864 01背包
- 什么时候使用存储过程比较适合?
- leetcode-valid parenthesses
- jenkins持续构建
- Android颜色配置表
- Linux 之-------Shell 程序的建立和特殊字符
- 我就是我,这就是我
- sql存储过程几个简单例子(一)
- codevs2306 晨跑
- 上传下载
- 条款28:避免返回handles指向对象内部成分
- leetcode clone graph