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

古一 · 2020年06月26日 · 最后由 dive 回复于 2020年06月28日 · 4107 次阅读

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

共收到 8 条回复 时间 点赞

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

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

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

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

恒温 回复

好的,谢谢~

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

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

谢谢大佬解答~

好的,先马了

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

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

古一 关闭了讨论 10月12日 22:13
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册