持续集成 部门想搞一套持续集成方案,请教下大佬们

古一 · June 26, 2020 · Last by dive replied at June 28, 2020 · 1964 hits

部门想要的效果:开发提交版本到gitlab后,通过jenkins完成构建打包和服务部署,然后触发自动化测试。
项目架构是采用的微服务架构,有一个web和三个客户端。
疑问:
1、开发所谓的打包、构建、部署、发布分别是什么意思?
2、构建打包后,如何把这些安装包自动安装到一个环境去?安装好这些服务和客户端后又如何触发自动化测试(包括UI和接口)
3、这一套如何跟docker结合使用?
麻烦大佬解下惑,不胜感激!

共收到 8 条回复 时间 点赞

这一套教下来可要费不少功夫的说

开发所谓的打包、构建、部署、发布分别是什么意思?

  1. 无论是web应用还是移动应用,都需要编译,打包,这个都有对应的编译工作和打包工具
  2. 构建是指搭建运行应用的环境吧?
  3. 部署就是把第一步的这些应用给安装上去
  4. 发布在开发或者测试环境,理论上部署了就是发布了。但是从整个流水线,应该是测试完成了,验收通过了,可以发布到线上。那么在流水线的定制上就会有不同环境的配置。

第2个问题,和第3个问题,这个建议还是先百度或者谷歌一下。问题太大了。

古一 #3 · June 26, 2020 作者
恒温 回复

好的,谢谢~

1、开发所谓的打包、构建、部署、发布分别是什么意思?
打包和构建:就是编译代码,得到部署包
部署、发布:部署指部署到服务器,发布的话有可能指的是把部署上传到仓库 ,也可以表示部署,这个要看怎么去理解
2、构建打包后,如何把这些安装包自动安装到一个环境去?安装好这些服务和客户端后又如何触发自动化测试(包括UI和接口)
打好包后,通过jenkins可以把部署包上传到指定服务器某个目录,然后部署成功后,可以自动触发构建其他的测试job去触发执行自动化测试脚本
3、这一套如何跟docker结合使用?
结合docker的话,可以用docker搭建jenkins,要部署的包可以写脚本编译成docker镜像 ,以docekr的方式去部署

我正好写过一个框架。Docker+Jmeter+Jenkins+Gitlab+Ant+Nginx+Php。https://testerhome.com/topics/21042

古一 #6 · June 27, 2020 作者

谢谢大佬解答~

古一 #7 · June 27, 2020 作者

好的,先马了

其实现在也不太需要Jenkins来做持续集成了,gitlab本身就可以直接做持续集成,并且结合docker还挺好用的。写配置文件还比Jenkins简单。
首先你这个微服务,是用什么写的,这里用java后端和vue前端举个例子给你吧:
1、构建:这一步主要是讲代码编译成jar包或者html文件,可以让服务器去运行
2、打包:这一步如果使用了docker,可以理解为打包为docker镜像
3、部署:使用docker运行打包好的镜像,可以是开发环境运行。
4、发布:把docker镜像发布到镜像仓库,供运维或者测试使用。

另外这步骤也不是绝对的。比如发布,也可以是java程序依赖,发布到maven仓库。测试可以在持续集成中间加上单元测试,代码sonar扫描,接口测试,安全扫描等步骤。就看你自己怎么安排这个流水线了

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up